Skip site navigation (1)Skip section navigation (2)
Date:      Sun, 11 Feb 2018 11:09:42 +0100
From:      Antoine Brodin <antoine@freebsd.org>
To:        Hans Petter Selasky <hselasky@freebsd.org>
Cc:        src-committers <src-committers@freebsd.org>, svn-src-all@freebsd.org,  svn-src-stable@freebsd.org, svn-src-stable-11@freebsd.org,  re <re@freebsd.org>
Subject:   Re: svn commit: r328973 - in stable/11: include sys/sys
Message-ID:  <CAALwa8nam2SgGH6jqsVf-5-sdMPLb3d0DBxhhZgc1zBDP=5r3A@mail.gmail.com>
In-Reply-To: <CAALwa8nxtiGHMNbMrS_51MvqWfsccV%2BZ-whdGp8VedFCWid5zQ@mail.gmail.com>
References:  <201802071506.w17F6s5l043163@repo.freebsd.org> <CAALwa8nxtiGHMNbMrS_51MvqWfsccV%2BZ-whdGp8VedFCWid5zQ@mail.gmail.com>

next in thread | previous in thread | raw e-mail | index | archive | help
On Sun, Feb 11, 2018 at 8:01 AM, Antoine Brodin <antoine@freebsd.org> wrote:
> On Wed, Feb 7, 2018 at 4:06 PM, Hans Petter Selasky
> <hselasky@freebsd.org> wrote:
>> Author: hselasky
>> Date: Wed Feb  7 15:06:54 2018
>> New Revision: 328973
>> URL: https://svnweb.freebsd.org/changeset/base/328973
>>
>> Log:
>>   MFC r328237:
>>   Use the __alloc_size2 attribute where relevant.
>>
>>   This follows the documented use in GCC. It is basically only relevant for
>>   calloc(3), reallocarray(3) and  mallocarray(9).
>>
>>   NOTE: Without this change clang 5.0.1 can produce incorrect optimisation
>>   code for static processing of data using the allocated object. For example
>>   this has been seen compiling the mlx4 core module, which allocates a
>>   fixed size array which is then sorted by a fixed order loop. The
>>   optimised result, -O2, is incorrect unless this patch is in place.
>>
>>   Suggested by: Mark Millard
>>   Reference:    https://docs.freebsd.org/cgi/mid.cgi?9DE674C6-EAA3-4E8A-906F-446E74D82FC4
>>
>> Modified:
>>   stable/11/include/stdlib.h
>>   stable/11/sys/sys/malloc.h
>> Directory Properties:
>>   stable/11/   (props changed)
>
> Hi,
>
> Please revert this change.  Lots of ports that used to build fine on
> stable/11 are now failing.
> /usr/include/stdlib.h:93:7: error: expected function body after
> function declarator
>              __alloc_size2(1, 2);

Something like this may be needed on stable/11:

Index: 11/sys/sys/cdefs.h
===================================================================
--- 11/sys/sys/cdefs.h  (revision 329121)
+++ 11/sys/sys/cdefs.h  (working copy)
@@ -213,6 +213,7 @@
 #define        __aligned(x)
 #define        __alloc_align(x)
 #define        __alloc_size(x)
+#define        __alloc_size2(n, x)
 #define        __section(x)
 #define        __weak_symbol
 #else

Antoine



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?CAALwa8nam2SgGH6jqsVf-5-sdMPLb3d0DBxhhZgc1zBDP=5r3A>