summaryrefslogtreecommitdiff
path: root/futility
diff options
context:
space:
mode:
authorIdwer Vollering <vidwer@gmail.com>2020-08-28 23:16:28 +0200
committerCommit Bot <commit-bot@chromium.org>2020-09-11 01:29:19 +0000
commitade6151a678c59e270c89bcca37f61cfdd41700d (patch)
tree446f2f41581df2f1939abaa544b4ead71a36417a /futility
parent176e01ded3bcefb6cb8baa984a158d42562bb1e9 (diff)
downloadvboot-ade6151a678c59e270c89bcca37f61cfdd41700d.tar.gz
portability fixes: support building vboot on FreeBSD
Built on FreeBSD 12.1-RELEASE, 13-CURRENT, using gcc9 installed from packages. Change-Id: Ifa8bb343c7e916c1b545cf6c1e4bd0a18ea391cd Reviewed-on: https://chromium-review.googlesource.com/c/chromiumos/platform/vboot_reference/+/2382790 Reviewed-by: Julius Werner <jwerner@chromium.org> Tested-by: Julius Werner <jwerner@chromium.org> Commit-Queue: Julius Werner <jwerner@chromium.org>
Diffstat (limited to 'futility')
-rw-r--r--futility/cmd_vbutil_kernel.c4
-rw-r--r--futility/dump_kernel_config_lib.c8
-rw-r--r--futility/misc.c4
-rw-r--r--futility/updater_utils.c3
4 files changed, 14 insertions, 5 deletions
diff --git a/futility/cmd_vbutil_kernel.c b/futility/cmd_vbutil_kernel.c
index 1684c185..83a76f84 100644
--- a/futility/cmd_vbutil_kernel.c
+++ b/futility/cmd_vbutil_kernel.c
@@ -9,7 +9,7 @@
#include <fcntl.h>
#include <getopt.h>
#include <inttypes.h> /* For PRIu64 */
-#ifndef HAVE_MACOS
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__)
#include <linux/fs.h> /* For BLKGETSIZE64 */
#endif
#include <stdarg.h>
@@ -173,7 +173,7 @@ static uint8_t *ReadOldKPartFromFileOrDie(const char *filename,
FATAL("Unable to stat %s: %s\n", filename, strerror(errno));
if (S_ISBLK(statbuf.st_mode)) {
-#ifndef HAVE_MACOS
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__)
int fd = open(filename, O_RDONLY);
if (fd >= 0) {
ioctl(fd, BLKGETSIZE64, &file_size);
diff --git a/futility/dump_kernel_config_lib.c b/futility/dump_kernel_config_lib.c
index 5f7aa20e..4240e5ed 100644
--- a/futility/dump_kernel_config_lib.c
+++ b/futility/dump_kernel_config_lib.c
@@ -10,7 +10,9 @@
#include <string.h>
#include <sys/mman.h>
#include <sys/stat.h>
+#if !defined (__FreeBSD__)
#include <sys/sysmacros.h>
+#endif
#include <sys/types.h>
#include <unistd.h>
@@ -122,7 +124,11 @@ char *FindKernelConfig(const char *infile, uint64_t kernel_body_load_address)
{
char *newstr = NULL;
- int fd = open(infile, O_RDONLY | O_CLOEXEC | O_LARGEFILE);
+ int fd = open(infile, O_RDONLY | O_CLOEXEC
+#if !defined(__FreeBSD__)
+ | O_LARGEFILE
+#endif
+ );
if (fd < 0) {
FATAL("Cannot open %s\n", infile);
return NULL;
diff --git a/futility/misc.c b/futility/misc.c
index de7db515..0c8a0e71 100644
--- a/futility/misc.c
+++ b/futility/misc.c
@@ -5,7 +5,7 @@
#include <assert.h>
#include <errno.h>
-#ifndef HAVE_MACOS
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__)
#include <linux/fs.h> /* For BLKGETSIZE64 */
#endif
#include <stdarg.h>
@@ -272,7 +272,7 @@ enum futil_file_err futil_map_file(int fd, int writeable,
return FILE_ERR_STAT;
}
-#ifndef HAVE_MACOS
+#if !defined(HAVE_MACOS) && !defined(__FreeBSD__)
if (S_ISBLK(sb.st_mode))
ioctl(fd, BLKGETSIZE64, &sb.st_size);
#endif
diff --git a/futility/updater_utils.c b/futility/updater_utils.c
index e87094b4..5a2a5e6d 100644
--- a/futility/updater_utils.c
+++ b/futility/updater_utils.c
@@ -10,6 +10,9 @@
#include <sys/stat.h>
#include <sys/types.h>
#include <unistd.h>
+#if defined (__FreeBSD__)
+#include <sys/wait.h>
+#endif
#include "2common.h"
#include "crossystem.h"