Fix warnings during bootstrap on Linux systems
Most warnings are currently off for the boostrap phase, but once D27598 lands they will be enabled again.
This commit is contained in:
parent
ed8455806e
commit
4e64fb9f49
@ -174,6 +174,8 @@ CFLAGS.closefrom.c+= -DSTDC_HEADERS -DHAVE_SYS_DIR_H -DHAVE_DIRENT_H \
|
||||
-DHAVE_DIRFD -DHAVE_SYSCONF
|
||||
# Provide warnc/errc/getprogname/setprograme
|
||||
SRCS+= err.c progname.c
|
||||
# Stub implementations of fflagstostr/strtofflags
|
||||
SRCS+= fflags.c
|
||||
.endif
|
||||
# Provide the same arc4random implementation on Linux/macOS
|
||||
CFLAGS.arc4random.c+= -I${SRCTOP}/sys/crypto/chacha20 -D__isthreaded=1
|
||||
|
@ -42,19 +42,20 @@ __FBSDID("$FreeBSD$");
|
||||
#include <errno.h>
|
||||
|
||||
int
|
||||
cap_ioctls_limit(int fd, const cap_ioctl_t *cmds, size_t ncmds)
|
||||
cap_ioctls_limit(int fd __unused, const cap_ioctl_t *cmds __unused,
|
||||
size_t ncmds __unused)
|
||||
{
|
||||
return 0; /* Just pretend that it succeeded */
|
||||
}
|
||||
|
||||
int
|
||||
cap_fcntls_limit(int fd, uint32_t fcntlrights)
|
||||
cap_fcntls_limit(int fd __unused, uint32_t fcntlrights __unused)
|
||||
{
|
||||
return 0; /* Just pretend that it succeeded */
|
||||
}
|
||||
|
||||
int
|
||||
cap_rights_limit(int fd, const cap_rights_t *rights)
|
||||
cap_rights_limit(int fd __unused, const cap_rights_t *rights __unused)
|
||||
{
|
||||
return 0; /* Just pretend that it succeeded */
|
||||
}
|
||||
|
@ -37,13 +37,15 @@
|
||||
#include <sys/cdefs.h>
|
||||
__FBSDID("$FreeBSD$");
|
||||
|
||||
#include <sys/sysctl.h>
|
||||
|
||||
#include <err.h>
|
||||
#include <string.h>
|
||||
#include <sysexits.h>
|
||||
|
||||
int
|
||||
__freebsd_sysctlbyname(
|
||||
const char *name, void *oldp, size_t *oldlenp, void *newp, size_t newlen)
|
||||
__freebsd_sysctlbyname(const char *name, void *oldp, size_t *oldlenp,
|
||||
const void *newp, size_t newlen)
|
||||
{
|
||||
if (strcmp(name, "kern.vm_guest") == 0) {
|
||||
if (!oldp || !oldlenp)
|
||||
|
@ -12,6 +12,9 @@
|
||||
* Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
|
||||
* ("CTSRD"), as part of the DARPA CRASH research programme.
|
||||
*
|
||||
* This work was supported by Innovate UK project 105694, "Digital Security by
|
||||
* Design (DSbD) Technology Platform Prototype".
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
@ -32,11 +35,28 @@
|
||||
* LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY
|
||||
* OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF
|
||||
* SUCH DAMAGE.
|
||||
*
|
||||
* $FreeBSD$
|
||||
*/
|
||||
#pragma once
|
||||
/* The Linux sysctl struct has a member called __unused */
|
||||
#undef __unused
|
||||
#include_next <sys/sysctl.h>
|
||||
#define __unused __attribute__((unused))
|
||||
|
||||
#include <string.h>
|
||||
#include <unistd.h>
|
||||
|
||||
char *
|
||||
fflagstostr(u_long flags __unused)
|
||||
{
|
||||
return strdup("");
|
||||
}
|
||||
|
||||
int
|
||||
strtofflags(char **stringp __unused, u_long *setp, u_long *clrp)
|
||||
{
|
||||
/* On linux just ignore the file flags for now */
|
||||
/*
|
||||
* XXX: this will prevent makefs from setting noschg on libc, etc.
|
||||
* so we should really find a way to support flags in disk images.
|
||||
*/
|
||||
if (setp)
|
||||
*setp = 0;
|
||||
if (clrp)
|
||||
*clrp = 0;
|
||||
return (0); /* success */
|
||||
}
|
@ -53,7 +53,7 @@ const char *group_from_gid(gid_t gid, int noname);
|
||||
|
||||
#ifdef __linux__
|
||||
static inline int
|
||||
setgroupent(int stayopen)
|
||||
setgroupent(int stayopen __unused)
|
||||
{
|
||||
setgrent();
|
||||
return (1);
|
||||
|
@ -52,7 +52,7 @@ const char *user_from_uid(uid_t uid, int noname);
|
||||
|
||||
#ifdef __linux__
|
||||
static inline int
|
||||
setpassent(int stayopen)
|
||||
setpassent(int stayopen __unused)
|
||||
{
|
||||
setpwent();
|
||||
return (1);
|
||||
|
@ -59,15 +59,6 @@
|
||||
#define __IDSTRING(name, string)
|
||||
#endif
|
||||
|
||||
#ifndef rounddown
|
||||
#define rounddown(x, y) (((x) / (y)) * (y))
|
||||
#define rounddown2(x, y) ((x) & (~((y)-1))) /* if y is power of two */
|
||||
#define roundup(x, y) ((((x) + ((y)-1)) / (y)) * (y)) /* to any y */
|
||||
#define roundup2(x, y) \
|
||||
(((x) + ((y)-1)) & (~((y)-1))) /* if y is powers of two */
|
||||
#define powerof2(x) ((((x)-1) & (x)) == 0)
|
||||
#endif
|
||||
|
||||
#ifndef __pure
|
||||
#define __pure __attribute__((__pure__))
|
||||
#endif
|
||||
@ -145,12 +136,6 @@
|
||||
#define __malloc_like __attribute__((__malloc__))
|
||||
#endif
|
||||
|
||||
#ifndef nitems
|
||||
// https://stackoverflow.com/questions/1598773/is-there-a-standard-function-in-c-that-would-return-the-length-of-an-array/1598827#1598827
|
||||
#define nitems(x) \
|
||||
((sizeof(x) / sizeof(0 [x])) / ((size_t)(!(sizeof(x) % sizeof(0 [x])))))
|
||||
#endif
|
||||
|
||||
#ifndef __min_size
|
||||
#if !defined(__cplusplus)
|
||||
#define __min_size(x) static(x)
|
||||
@ -181,15 +166,6 @@
|
||||
#define __printf0__ __printf__
|
||||
#endif
|
||||
|
||||
/*
|
||||
* These should probably be in sys/types.h but mtree expects them to exist
|
||||
* without including <sys/types.h>
|
||||
*/
|
||||
typedef unsigned char u_char;
|
||||
typedef unsigned short u_short;
|
||||
typedef unsigned int u_int;
|
||||
typedef unsigned long u_long;
|
||||
|
||||
/* On MacOS __CONCAT is defined as x ## y, which won't expand macros */
|
||||
#undef __CONCAT
|
||||
#define __CONCAT1(x, y) x##y
|
||||
|
@ -12,6 +12,9 @@
|
||||
* Cambridge Computer Laboratory under DARPA/AFRL contract (FA8750-10-C-0237)
|
||||
* ("CTSRD"), as part of the DARPA CRASH research programme.
|
||||
*
|
||||
* This work was supported by Innovate UK project 105694, "Digital Security by
|
||||
* Design (DSbD) Technology Platform Prototype".
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions
|
||||
* are met:
|
||||
@ -63,3 +66,26 @@
|
||||
#ifndef __PAST_END
|
||||
#define __PAST_END(array, offset) (((__typeof__(*(array)) *)(array))[offset])
|
||||
#endif
|
||||
|
||||
#ifndef nitems
|
||||
// https://stackoverflow.com/questions/1598773/is-there-a-standard-function-in-c-that-would-return-the-length-of-an-array/1598827#1598827
|
||||
#define nitems(x) \
|
||||
((sizeof(x) / sizeof(0 [x])) / ((size_t)(!(sizeof(x) % sizeof(0 [x])))))
|
||||
#endif
|
||||
|
||||
#ifndef rounddown
|
||||
#define rounddown(x, y) (((x) / (y)) * (y))
|
||||
#endif
|
||||
#ifndef rounddown2
|
||||
#define rounddown2(x, y) ((x) & (~((y)-1))) /* if y is power of two */
|
||||
#endif
|
||||
#ifndef roundup
|
||||
#define roundup(x, y) ((((x) + ((y)-1)) / (y)) * (y)) /* to any y */
|
||||
#endif
|
||||
#ifndef roundup2
|
||||
#define roundup2(x, y) \
|
||||
(((x) + ((y)-1)) & (~((y)-1))) /* if y is powers of two */
|
||||
#endif
|
||||
#ifndef powerof2
|
||||
#define powerof2(x) ((((x)-1) & (x)) == 0)
|
||||
#endif
|
||||
|
@ -40,7 +40,7 @@
|
||||
#include <getopt.h>
|
||||
|
||||
static inline int
|
||||
check_utility_compat(const char *utility)
|
||||
check_utility_compat(const char *utility __unused)
|
||||
{
|
||||
/*
|
||||
* The check_utility_compat() function returns zero if utility should
|
||||
|
@ -39,10 +39,6 @@
|
||||
#include_next <limits.h>
|
||||
#endif
|
||||
|
||||
#ifdef __STRICT_ANSI__
|
||||
#warning __STRICT_ANSI__ defined
|
||||
#endif
|
||||
|
||||
#if __has_include(<linux/limits.h>)
|
||||
#include <linux/limits.h>
|
||||
#endif
|
||||
|
@ -62,26 +62,8 @@ issetugid(void)
|
||||
}
|
||||
#endif
|
||||
|
||||
static inline char *
|
||||
fflagstostr(u_long flags)
|
||||
{
|
||||
return strdup("");
|
||||
}
|
||||
|
||||
static inline int
|
||||
strtofflags(char **stringp, u_long *setp, u_long *clrp)
|
||||
{
|
||||
/* On linux just ignore the file flags for now */
|
||||
/*
|
||||
* XXXAR: this will prevent makefs from setting noschg on libc, etc
|
||||
* so we should really build the version from libc
|
||||
*/
|
||||
if (setp)
|
||||
*setp = 0;
|
||||
if (clrp)
|
||||
*clrp = 0;
|
||||
return (0); /* success */
|
||||
}
|
||||
char *fflagstostr(unsigned long flags);
|
||||
int strtofflags(char **stringp, u_long *setp, u_long *clrp);
|
||||
|
||||
/*
|
||||
* getentropy() was added in glibc 2.25. Declare it for !glibc and older
|
||||
|
@ -45,6 +45,11 @@ CFLAGS+= -Werror=implicit-function-declaration -Werror=implicit-int \
|
||||
-Werror=return-type -Wundef
|
||||
CFLAGS+= -DHAVE_NBTOOL_CONFIG_H=1
|
||||
CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/common
|
||||
# This is needed for code that compiles for pre-C11 C standards
|
||||
CWARNFLAGS+= -Wno-typedef-redefinition
|
||||
# bsd.sys.mk explicitly turns on -Wsystem-headers, but that's extremely
|
||||
# noisy when building on Linux.
|
||||
CWARNFLAGS+= -Wno-system-headers
|
||||
|
||||
# b64_pton and b64_ntop is in libresolv on MacOS and Linux:
|
||||
# TODO: only needed for uuencode and uudecode
|
||||
@ -52,7 +57,7 @@ LDADD+=-lresolv
|
||||
|
||||
.if ${.MAKE.OS} == "Linux"
|
||||
CFLAGS+= -I${SRCTOP}/tools/build/cross-build/include/linux
|
||||
CFLAGS+= -std=gnu99 -D_GNU_SOURCE=1
|
||||
CFLAGS+= -D_GNU_SOURCE=1
|
||||
# Needed for sem_init, etc. on Linux (used by usr.bin/sort)
|
||||
LDADD+= -pthread
|
||||
|
||||
|
Loading…
Reference in New Issue
Block a user