svn commit: r328973 - in stable/11: include sys/sys

Antoine Brodin antoine at freebsd.org
Sun Feb 11 10:09:44 UTC 2018


On Sun, Feb 11, 2018 at 8:01 AM, Antoine Brodin <antoine at freebsd.org> wrote:
> On Wed, Feb 7, 2018 at 4:06 PM, Hans Petter Selasky
> <hselasky at 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


More information about the svn-src-all mailing list