[FFmpeg-devel] [PATCH] utils.c: avoid FFSWAP of identical buffers
Wed Nov 12 17:54:45 CET 2008
M?ns Rullg?rd wrote:
> Jindrich Makovicka wrote:
>> On Mon, Nov 10, 2008 at 15:31, M?ns Rullg?rd <mans at mansr.com> wrote:
>>> Jindrich Makovicka wrote:
>>>> the attached patch skips doing FFSWAP() if the buffers are actually
>>>> the same, to avoid useless copying and to suppress a "memcpy() with
>>>> overlapping src and dest" warning in Valgrind.
>>> While avoiding useless copying is of course good, the cause of the valgrind
>>> warning is a gcc bug. Unless the compiler can prove that the source and
>>> destination do not overlap, it must not issue a memcpy() call to effect a
>>> struct assignment. The C standard specifically allows assignment with
>>> source equal to destination, whereas memcpy() does not.
>> Right, I recall some flames about this here or on the MPlayer list.
>> Do you find this change justifiable by the former reason?
> Not really, since gcc should be doing that check. Has this been reported
> to gcc devs?
There are several entries in gcc bugzilla for this and similar issues,
some of which have been fixed, others denied in usual fashion.
This one admits there's a problem, but reckons it's not that important:
These are similar, but target more specific cases:
mans at mansr.com
More information about the ffmpeg-devel