lbutils: only use GNU SOURCE for syscall

and remove manual prototypes; fchmod, realpath
and so on rely on the _XOPEN_SOURCE macro.

the POSIX macro wasn't needed: _XOPEN_SOURCE
is sufficient.

Signed-off-by: Leah Rowe <leah@libreboot.org>
This commit is contained in:
Leah Rowe
2026-04-01 11:36:41 +01:00
parent 716140b80f
commit 2c40ad7816
8 changed files with 42 additions and 61 deletions
-16
View File
@@ -13,18 +13,6 @@
#include <sys/types.h>
#include <sys/stat.h>
#include <limits.h>
#include <errno.h>
/* for linux getrandom
*/
#if defined(__linux__)
#include <sys/random.h>
#include <sys/syscall.h>
#endif
#ifdef __OpenBSD__ /* for pledge */
#include <unistd.h>
#endif
/* dangerously cool macros:
*/
@@ -49,10 +37,6 @@
/* system prototypes
*/
int fchmod(int fd, mode_t mode);
char *realpath(const char *path,
char *resolved);
#ifndef USE_URANDOM
#define USE_URANDOM 0
#endif
+11 -9
View File
@@ -16,8 +16,17 @@ more correct usage example:
long max = pathconf("/", _PC_PATH_MAX);
*/
#ifndef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200809L
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 700
#endif
/* for openat2: */
#ifdef __linux__
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
#include <linux/openat2.h>
#include <sys/syscall.h>
#endif
#include <sys/types.h>
@@ -30,13 +39,6 @@ long max = pathconf("/", _PC_PATH_MAX);
#include <string.h>
#include <unistd.h>
/* for openat2: */
#ifdef __linux__
#include <linux/openat2.h>
#include <sys/syscall.h>
long syscall(long number, ...);
#endif
#include "../include/common.h"
/* check that a file changed
+17 -14
View File
@@ -4,8 +4,23 @@
* Hardened mktemp (be nice to the demon).
*/
#if !defined(_POSIX_C_SOURCE)
#define _POSIX_C_SOURCE 200809L
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 700
#endif
/* for openat2 / fast path: */
#ifdef __linux__
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
#include <sys/syscall.h>
#include <linux/openat2.h>
#ifndef O_TMPFILE
#define O_TMPFILE 020000000
#endif
#ifndef AT_EMPTY_PATH
#define AT_EMPTY_PATH 0x1000
#endif
#endif
#include <sys/types.h>
@@ -18,18 +33,6 @@
#include <string.h>
#include <unistd.h>
/* for openat2 / fast path: */
#ifdef __linux__
#include <linux/openat2.h>
#include <sys/syscall.h>
#ifndef O_TMPFILE
#define O_TMPFILE 020000000
#endif
#ifndef AT_EMPTY_PATH
#define AT_EMPTY_PATH 0x1000
#endif
#endif
#include "../include/common.h"
/* note: tmpdir is an override of TMPDIR or /tmp or /var/tmp */
+10 -8
View File
@@ -7,19 +7,21 @@
#ifndef RAND_H
#define RAND_H
#ifdef __OpenBSD__
#include <sys/param.h>
#endif
#include <sys/types.h>
#if defined(USE_URANDOM) && \
((USE_URANDOM) > 0)
#include <fcntl.h> /* if not arc4random: /dev/urandom */
#elif defined(__linux__)
#include <sys/random.h>
#include <sys/syscall.h>
long syscall(long number, ...);
#ifndef _GNU_SOURCE
#define _GNU_SOURCE 1
#endif
#include <sys/syscall.h>
#include <sys/random.h>
#endif
#ifdef __OpenBSD__
#include <sys/param.h>
#endif
#include <sys/types.h>
#include <errno.h>
#include <fcntl.h>
+2 -2
View File
@@ -4,8 +4,8 @@
* State machine (singleton) for nvmutil data.
*/
#ifndef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200809L
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 700
#endif
#include <sys/types.h>
-5
View File
@@ -2,11 +2,6 @@
* Copyright (c) 2026 Leah Rowe <leah@libreboot.org> /| |\
Something something non-determinism / \ */
#if !defined(_POSIX_C_SOURCE)
/* for openat2 on linux */
#define _POSIX_C_SOURCE 200809L
#endif
#include <ctype.h>
#include <stddef.h>
#include <stdio.h>
+2 -3
View File
@@ -16,9 +16,8 @@
* while the specification that it implements evolves.
*/
#if !defined(_POSIX_C_SOURCE)
/* for openat2 on linux */
#define _POSIX_C_SOURCE 200809L
#ifndef _XOPEN_SOURCE
#define _XOPEN_SOURCE 700
#endif
#include <sys/types.h>
-4
View File
@@ -6,10 +6,6 @@
* These images configure your Intel Gigabit Ethernet adapter.
*/
#ifndef _POSIX_C_SOURCE
#define _POSIX_C_SOURCE 200809L
#endif
#include <sys/types.h>
#include <sys/stat.h>