Re: OSX doesn't accept identical source/target for strcpy() anymore

Поиск
Список
Период
Сортировка
От didier
Тема Re: OSX doesn't accept identical source/target for strcpy() anymore
Дата
Msg-id CAJRYxuLj=usQC5FtnVeYMPjSZt2n5T9NOi4Hj-LMtPnVWdA1JQ@mail.gmail.com
обсуждение исходный текст
Ответ на Re: OSX doesn't accept identical source/target for strcpy() anymore  (Tom Lane <tgl@sss.pgh.pa.us>)
Список pgsql-hackers
Hi,


On Mon, Oct 28, 2013 at 7:11 PM, Tom Lane <tgl@sss.pgh.pa.us> wrote:

If copying takes place between objects that overlap, the behavior is undefined.

Both gcc and glibc have been moving steadily in the direction of
aggressively exploiting "undefined behavior" cases for optimization
purposes.  I don't know if there is yet a platform where strncpy with
src == dest behaves oddly, but we'd be foolish to imagine that it's
not going to happen eventually.  If anything, Apple is probably doing
us a service by making it obvious where we're failing to adhere to spec.

However ... I still can't replicate this here, and as you say, there's
about zero chance of keeping our code clean of this problem unless we
can set up a buildfarm member that will catch it.

                        regards, tom lane


I haven't a 10.9 box for double checking but there's a gcc command line triggering the same assert for strcpy and gcc at  http://lists.gnu.org/archive/html/bug-bash/2013-07/msg00011.html.

Didier

В списке pgsql-hackers по дате отправления:

Предыдущее
От: Andres Freund
Дата:
Сообщение: Re: OSX doesn't accept identical source/target for strcpy() anymore
Следующее
От: Robert Haas
Дата:
Сообщение: Re: better atomics