|
fe21244b
|
2022-12-20T22:47:02
|
|
include: Use __has_builtin to detect __builtin_offsetof support
The __has_builtin operator is more specific and is supported by GCC
and Clang, while __is_identifier() is less specific and only supported
by Clang, so we should prefer the former whenever it is available, and
only fallback to use the latter when the former is missing and the
latter.
|
|
1c3ff616
|
2021-02-09T02:46:49
|
|
Use uintptr_t and size_t instead of __-prefixed types in <sys/cdefs.h>
The __-prefixed types cannot be assumed to be defined. Use the standard
types instead.
Closes: #6
|
|
46760262
|
2021-02-07T20:47:00
|
|
Update <sys/queue.h> from FreeBSD
This brings <sys/queue.h> to the most up-to-date version from FreeBSD,
incorporating 18 commits from the past 5 years (2015-02-24 - 2021-01-25):
$ git log --oneline 9090a24aed70..8d55837dc133 sys/sys/queue.h share/man/man3/queue.3
Only minimal changes compared to the FreeBSD version have been applied
(queue.3 -> queue.3bsd, _LIBBSD_ prefix).
[guillem@hadrons.org: Remove reference to kernel mode in man page. ]
Closes: !12
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
48033408
|
2018-06-14T11:38:32
|
|
Provide a <sys/param.h> with MIN() and MAX()
Windows doesn't provide <sys/param.h>. Several libbsd sources require it
for MIN(), and these are useful non-system-specific macros anyway.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
7cfa2d45
|
2018-06-14T11:38:31
|
|
Correct Clang feature detection
Clang's __GNUC__ and __GNUC_MINOR__ definitions are not reliable and may
not be defined at all when targeting the MSVC ABI. Use feature-checking
macros when possible or check for __clang__.
[guillem@hadrons.org: Update for __ protected keyword change. ]
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
574c7a13
|
2018-06-18T00:36:44
|
|
Protect C language extensions with two leading and trailing underscores
This should make their usage safer against user macros.
|
|
c2d9d840
|
2018-06-14T11:38:32
|
|
Guard non-portable forwarded includes
These headers are not available on Windows. <bsd/sys/cdefs.h> ensures
that __has_include() and __has_include_next() are defined.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
bf697b90
|
2018-05-22T15:43:48
|
|
Add symbol redirection support
We need this to be able to select different version symbols at
compile-time.
|
|
30b4d507
|
2018-05-21T03:00:47
|
|
Add __arraycount() macro from NetBSD
|
|
1f8a3f7b
|
2018-03-06T01:39:45
|
|
Fix function declaration protection for glibc already providing them
On non-glibc based systems we cannot unconditionally use the
__GLIBC_PREREQ macro as it gets expanded before evaluation. Instead,
if it is undefined, define it to 0.
We should also always declare these functions on non-glibc based
systems. And on systems with a new enough glibc, which provides these
functions, we should still provide the declarations if _GNU_SOURCE
is *not* defined.
Reported-by: Jörg Krause <joerg.krause@embedded.rocks>
|
|
11ec8f1e
|
2018-03-06T01:41:35
|
|
Handle systems missing <sys/cdefs.h>
This is a non-portable header, and we cannot expect it to be provided by
the system libc (e.g. musl). We just need and rely on declaration that
we have defined ourselves in our own <bsd/sys/cdefs.h>. So we switch to
only ever assume that.
Fixes: https://bugs.freedesktop.org/105281
|
|
9afc7100
|
2017-12-03T16:46:19
|
|
Fix <sys/cdefs.h> for gcc with no __has_include or __has_include_next support
Fixes: https://bugs.freedesktop.org/103396
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
ec5d9a68
|
2017-06-14T02:44:37
|
|
Namespace header inclusion protection macros
Use LIBBSD_, and remove trailing underscores.
|
|
0071b979
|
2017-06-05T05:43:26
|
|
Import <sys/time.h> for some of its macros
Fixes: https://bugs.freedesktop.org/94320
|
|
db7470b0
|
2017-01-10T04:27:25
|
|
Gracefully handle lack of system <sys/cdefs.h>
This is the case on musl.
Fixes: https://bugs.debian.org/810589
|
|
337e6202
|
2017-01-10T04:24:35
|
|
Support GCC deprecated attribute for GCC older than 4.5
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=99190
Based-on-patch-by: Eric Smith <brouhaha@fedoraproject.org>
|
|
6bcb1312
|
2015-12-07T02:45:52
|
|
Relicense my contribution to BSD-2-clause
This avoids having two licenses on the same file.
|
|
c7e01e98
|
2014-11-01T00:22:28
|
|
Sync queue(3) from FreeBSD
Fixes: https://bugs.freedesktop.org/show_bug.cgi?id=85147
|
|
32671144
|
2014-11-01T00:21:30
|
|
Add __offsetof, __rangeof and __containerof to sys/cdefs.h
Import and adapt from FreeBSD.
|
|
0e4e3ab2
|
2014-11-01T00:20:23
|
|
Add __DECONST, __DEVOLATILE and __DEQUALIFY macros to sys/cdefs.h
Import from FreeBSD.
|
|
e7f39760
|
2012-03-23T10:31:42
|
|
Add email address to my name
|
|
4eab0cc3
|
2012-01-03T05:29:36
|
|
Add inline endian encoding/decoding functions
Taken from FreeBSD.
Signed-off-by: Guillem Jover <guillem@hadrons.org>
|
|
866f73af
|
2012-01-03T05:39:22
|
|
Move overlay inclusions outside of header protection
Glibc tends to include standard headers with special definitions
that make few declarations or macros visible, this stomps over the
overlay #include_next <> logic.
Based-on-patch-by: Robert Millan <rmh@debian.org>
|
|
8be40010
|
2011-05-27T20:37:10
|
|
Add new <bsd/sys/endian.h> header
|
|
cd4996ce
|
2011-05-27T21:23:18
|
|
Namespace header protector in <bsd/sys/cdefs.h> with LIBBSD_SYS_
|
|
a7dd4457
|
2011-05-27T21:13:18
|
|
Add new <bsd/sys/poll.h> header
|
|
e1f2a6f8
|
2011-05-25T21:27:58
|
|
Add new __packed, __aligned and __nonnull attributes
|
|
87dd203c
|
2011-05-25T21:27:12
|
|
Define __dead2 and __pure2 to actual gcc attributes if possible
|
|
de206287
|
2011-05-25T21:25:54
|
|
Define <sys/cdefs.h> attributes conditional to the supported gcc version
|
|
71e5db4c
|
2011-05-25T21:02:40
|
|
Define _SYS_CDEFS_H and _SYS_CDEFS_H after including <sys/cdefs.h>
This makes sure the “standard” inclusion protectors are in place, as at
least some FreeBSD kernel headers expect these to be defined to do some
sanity checks.
|
|
17a9a847
|
2011-05-25T07:36:19
|
|
Rename transparent support to overlay
This affects the pkg-config file now named libbsd-overlay.pc, and the
macro to use the overlay LIBBSD_OVERLAY.
|
|
520682e5
|
2011-02-23T14:04:57
|
|
Add support for transparent compilation
This means that software being ported should not need to be modified in
the usual case, as the libbsd headers will take over the standard
namespace and fill the missing gaps, and include the system headers.
To use this the new libbsd-transparent.pc file can be used through
pkg-config, which should end up doing the right thing.
|
|
9baf9640
|
2011-02-22T20:19:37
|
|
Add new <bsd/sys/bitstring.h> header
Taken from FreeBSD.
|
|
3fed78e5
|
2010-01-10T00:37:03
|
|
Replace setproctitle dummy macro with a function stub
This way we can replace it later on with a real implementation so that
applications can immediately benefit from it w/o the need to recompile
them.
|
|
a5dbef45
|
2009-12-10T21:02:30
|
|
Make RCS macros take arguments
This was breaking code actually using those macros.
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
27842d7f
|
2009-12-10T21:00:45
|
|
Track bug IDs for __unused collision
Signed-off-by: Thorsten Glaser <tg@mirbsd.org>
|
|
b6e84690
|
2009-10-12T01:47:54
|
|
Move <bsd/queue.h> to <bsd/sys/queue.h>
This maps more closely the location of the real header. For
transitional purposes keep a <bsd/queue.h> that warns and includes
<bsd/sys/queue.h>.
|
|
614eb040
|
2009-10-12T01:43:02
|
|
Add new <bsd/sys/tree.h> header
|
|
d3e14ea9
|
2009-10-23T23:04:42
|
|
Move <bsd/cdefs.h> to <bsd/sys/cdefs.h>
This maps more closely the location of the real header. For
transitional purposes keep a <bsd/cdefs.h> that warns and includes
<bsd/sys/cdefs.h>.
|