Hi Mingye, On 3/22/23 09:39, Mingye Wang wrote: > Hi Alex, > > It looks like Sam James has already documented level 3 of the macro. > The attached (no, git send-email is not happy with my proxy setup) > patch only adds some language related to clang. Here's to hoping the > system is happy with multipart mail. > > I've CCed Erik Pilington, since he is the author of the LLVM-svn > 352665, the change that introduced __builtin_dynamic_object_size() in > 2019. Thanks! > > Regards, > Mingye Wang > From b21bc416f0772b3c7783a1cb396cce5c0a170713 Mon Sep 17 00:00:00 2001 > From: Mingye Wang <arthur200126@xxxxxxxxx> > Date: Wed, 22 Mar 2023 16:18:27 +0800 > Subject: [PATCH] feature_test_macros.7: document clang fortify support > > This commit lists both gcc and clang versions. It also happens to fix > the "glibc 4.0" mistake in b324e17d3208c940622ab192609b836928d5aa8d. > > Signed-off-by: Mingye Wang <arthur200126@xxxxxxxxx> > --- > man7/feature_test_macros.7 | 15 +++++++++++---- > 1 file changed, 11 insertions(+), 4 deletions(-) > > diff --git a/man7/feature_test_macros.7 b/man7/feature_test_macros.7 > index 4dc9b9594..1c2719a80 100644 > --- a/man7/feature_test_macros.7 > +++ b/man7/feature_test_macros.7 > @@ -655,15 +655,22 @@ For example, a program where > size argument is variable > can now be fortified. > .IP > -Use of this macro requires compiler support, available with > +Use of this macro requires compiler support, available since > .BR gcc (1) > -since glibc 4.0. > -.IP > +4.0 Please follow the style used since this commit: commit b324e17d3208c940622ab192609b836928d5aa8d Author: Alejandro Colomar <alx@xxxxxxxxxx> Date: Sun Dec 4 20:38:06 2022 +0100 Many pages: wfix Refer consistently to software versions. In most cases, it is done as <software> <version>. In the case of Linux and glibc, use the project name, instead of other terms such as 'kernel' or 'library'. I found the uses of inconsistent language with the following: $ find man* -type f \ | xargs grep -i '\(since\|before\|after\|until\|to\|from\|in\|between\|version\|with\) \(kernel\|version\|2\.\|3\.\|4\.\|5\.\)' \ | sort However, I might have missed some cases. Anyway, 99% consistency is pretty good consistency. We'll fix the remaining cases as we see them. Signed-off-by: Alejandro Colomar <alx@xxxxxxxxxx> That means, unformatted GCC 4.0 and Clang 2.6. > +and > +.BR clang (1) > +2.6. > Use of > .B _FORTIFY_SOURCE > set to 3 requires > .BR gcc (1) > -version 12.0 or later. > +version 12.0 or later, or Remove the "version" word. Cheers, Alex > +.BR clang (1) > +version 9.0 or later, in conjunction with glibc 2.33 or later. > +.\" glibc is not an absolute requirement (gcc has libssp; NetBSD/newlib > +.\" and Darwin each have their own implementation), but let's keep it > +.\" simple. > .SS Default definitions, implicit definitions, and combining definitions > If no feature test macros are explicitly defined, > then the following feature test macros are defined by default: > -- > 2.40.0.windows.1 > -- <http://www.alejandro-colomar.es/> GPG key fingerprint: A9348594CE31283A826FBDD8D57633D441E25BB5
Attachment:
OpenPGP_signature
Description: OpenPGP digital signature