This is the mail archive of the
libc-alpha@sourceware.org
mailing list for the glibc project.
Re: Can realloc be marked as a mallloc-like function?
On Sun, Jul 15, 2007 at 10:17:56AM +0300, Janne Blomqvist wrote:
> On 7/14/07, H.J. Lu <hjl@lucon.org> wrote:
> >On Sat, Jul 14, 2007 at 06:03:33PM +0200, Tobias Schlüter wrote:
> >> H.J. Lu wrote:
> >> >It looks like gcc assumes a functon marked with DECL_IS_MALLOC won't
> >> >return an address which can alias something else. But it isn't true
> >> >for realloc. Now, the qestions are
> >> >
> >> >1. Can gcc make such an assumption?
> >> >2. Can realloc be marked as DECL_IS_MALLOC.
> >> >
> >> >BTW, glibc also marks realloc with __attribute_malloc__.
> >>
> >> There was an absurdely long thread on this topic starting at
> >> <http://gcc.gnu.org/ml/gcc/2004-01/msg00005.html>. I didn't dig through
> >> it to find the answer.
> >
> >Now, we have a real testcase to show the problem. How do we solve
> >it?
>
> I assigned the bug to myself, since I caused it. However, as the
> regression is not seen on x86, I suppose there is only so much I can
> do. HJL, can you confirm that indeed removing only the DECL_IS_MALLOC
> of internal_realloc fixes the issue on IA-64?
Yes.
>
> When I get back home tonight I'll take a look at the trees created by
> array_constructor_6 and see if we do something obviously stupid, i.e.
> can the frontend be fixed in some other way so that we can still keep
> internal_realloc marked with DECL_IS_MALLOC.
>
You can compare the ia64 alias dumps to see the difference between
before and after the DECL_IS_MALLOC change.
H.J.