[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: gcc-4.6: wrongly optimizes memmove() into memcpy()



tags 619963 - moreinfo
quit

Hi,

Török Edwin wrote:

> Indeed if I remove __restrict the bug is gone, and if I upgrade to libc6
> 2.13-0exp5, VLC's dec.c seems to be compiled correctly too.
>
> Should gcc-4.6 depend on glibc >= 2.13?
> Or should gcc-4.6 provide a fixed prototype for memmove via fix-includes?

In other words, it is a libc6-dev bug, but it seems that gcc (<< 4.6) did
not expose it.  I suppose that means gcc-4.6 could benefit from

	Breaks: libc6-dev (<< fixed version), libc0.1-dev (<< fixed version),
	 libc0.3-dev (<< fixed version), libc6.1-dev (<< fixed version)

to force an upgrade.  (Side note: it might make sense to rename those
packages to libc-dev and make libc<n>-dev into a dummy package.)

libc maintainers: any idea which versions mistakenly annotate memmove
with __restrict?  Would that be worth fixing in stable (my hunch is
"yes")?

Thanks for tracking this down.
Jonathan


Reply to: