<sys/queue.h> is broken in overlay mode
libbsd-overlay
breaks <sys/queue.h>
Concretely, it hides the header from the system, showing only the BSD version. If I don't compile with libbsd
at all, I have CRICLEQ_*
definitions from my system library, but if I compile with libbsd-overlay
, those definitions disappear.
Example code:
.. code-block:: c
#include <sys/queue.h>
struct Node {
int data;
CIRCLEQ_ENTRY(Node) circleq;
};
typedef int foo;
Compilation command:
- Works:
gcc test.c -S -o test.s
- Breaks:
gcc test.c -S -o test.s `pkg-config --cflags libbsd-overlay`
System:
Debian testing
.. code-block::
$ uname -a
Linux debian-VLC 5.6.0-2-amd64 #1 SMP Debian 5.6.14-1 (2020-05-23) x86_64 GNU/Linux
Libbsd:
.. code-block::
$ dpkg -l |grep libbsd
ii libbsd-dev:amd64 0.10.0-1 amd64 utility functions from BSD systems - development files
ii libbsd0:amd64 0.10.0-1 amd64 utility functions from BSD systems - shared library
Edited by Alejandro Colomar