<feed xmlns='http://www.w3.org/2005/Atom'>
<title>fortify-headers/include/sys, branch 0.8</title>
<subtitle>Standalone portable header-based implementation of FORTIFY_SOURCE=3 
</subtitle>
<id>http://git.dustri.org/fortify-headers/atom?h=0.8</id>
<link rel='self' href='http://git.dustri.org/fortify-headers/atom?h=0.8'/>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/'/>
<updated>2015-06-25T09:18:26Z</updated>
<entry>
<title>Add __extension__ mark to include_next to silence -pedantic</title>
<updated>2015-06-25T09:18:26Z</updated>
<author>
<name>Steven Barth</name>
</author>
<published>2015-06-24T18:13:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=7fd984fcb532be01f68cddc194c09a7ca10c1ea6'/>
<id>urn:sha1:7fd984fcb532be01f68cddc194c09a7ca10c1ea6</id>
<content type='text'>
Signed-off-by: Steven Barth &lt;steven@midlink.org&gt;
</content>
</entry>
<entry>
<title>Use the __inline__ keyword instead of __inline to avoid breakage</title>
<updated>2015-06-04T17:52:50Z</updated>
<author>
<name>Trutz Behn</name>
</author>
<published>2015-06-04T13:01:37Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=4cdac9cbdaa01f884e0e8b3f947b7f0cb1170729'/>
<id>urn:sha1:4cdac9cbdaa01f884e0e8b3f947b7f0cb1170729</id>
<content type='text'>
Newer compilers default to GNU11, a C11 dialect. Some software however
is unprepared for this or has wrong compatibility checks. What happens
is that some software will for compatibility with C89

  #define inline

before inclusion of a standard header, which is undefined behaviour in
C99 and above (C99/C11 7.1.2/4), as inline is a keyword.

If any libc headers that are then included via #include_next provide an
__inline macro definition (current musl does this if C++ or C99 and
above is detected) like the following

  #define __inline inline

this results in any __inline token to be preprocessed away.

This breaks use of __builtin_va_arg_pack() in our stdio.h at
compile-time as it can only be used in always inlined functions. The
function attributes __always_inline__ and __gnu_inline__ themselves
require an inline specifier on the function to be applied.
</content>
</entry>
<entry>
<title>Use namespace-safe macro, param and variable names</title>
<updated>2015-06-03T17:55:35Z</updated>
<author>
<name>Trutz Behn</name>
</author>
<published>2015-06-03T17:27:01Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=1cd5461a5375207602f2cbdfd9a50a9b751cb7c8'/>
<id>urn:sha1:1cd5461a5375207602f2cbdfd9a50a9b751cb7c8</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Fix return-type of fortified FD_CLR and FD_SET</title>
<updated>2015-05-21T09:10:17Z</updated>
<author>
<name>Trutz Behn</name>
</author>
<published>2015-05-20T20:09:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=720c4f7414c3c3d980de8e6ddbc0f608d3e9050d'/>
<id>urn:sha1:720c4f7414c3c3d980de8e6ddbc0f608d3e9050d</id>
<content type='text'>
POSIX specifies them to have return-type void, not int.
</content>
</entry>
<entry>
<title>Add LICENSE header</title>
<updated>2015-05-13T11:15:36Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-05-13T11:15:36Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=07adb509146e4185b9b7587baad26cdfb766c67e'/>
<id>urn:sha1:07adb509146e4185b9b7587baad26cdfb766c67e</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add fortify_fn() helper in fortify-headers.h</title>
<updated>2015-05-13T11:05:29Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-05-13T11:04:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=158782b3bb791eae3c97947944c7023452bfbc96'/>
<id>urn:sha1:158782b3bb791eae3c97947944c7023452bfbc96</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Use __typeof__ to in part avoid replicating function types</title>
<updated>2015-03-14T20:37:27Z</updated>
<author>
<name>Trutz Behn</name>
</author>
<published>2015-03-14T19:06:48Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=22e7e51007f3a28ded43f6cb8f0ff59a7a691175'/>
<id>urn:sha1:22e7e51007f3a28ded43f6cb8f0ff59a7a691175</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Add __artificial__ to aid in debugging</title>
<updated>2015-03-14T09:38:22Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-03-14T09:38:11Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=37eb2c9c1d71c2ff21605ecaf46cdd926244d361'/>
<id>urn:sha1:37eb2c9c1d71c2ff21605ecaf46cdd926244d361</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Restore C++ support</title>
<updated>2015-03-13T23:09:15Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-03-13T23:09:15Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=d12254166a55d17932ea4143fbd50fb52539ff8b'/>
<id>urn:sha1:d12254166a55d17932ea4143fbd50fb52539ff8b</id>
<content type='text'>
</content>
</entry>
<entry>
<title>Rework fortify implementation to use extern inline</title>
<updated>2015-03-13T11:00:46Z</updated>
<author>
<name>sin</name>
</author>
<published>2015-03-13T11:00:46Z</published>
<link rel='alternate' type='text/html' href='http://git.dustri.org/fortify-headers/commit/?id=9f8c543dc81f0c4239acae6713f5414eb7dc681d'/>
<id>urn:sha1:9f8c543dc81f0c4239acae6713f5414eb7dc681d</id>
<content type='text'>
Overriding functions with macros is legal in C but a lot of software
is not prepared for it.  Use the extern inline method to achieve the
same result.
</content>
</entry>
</feed>
