mirror of
https://gitee.com/openharmony/third_party_f2fs-tools
synced 2024-11-26 19:51:32 +00:00
Fix the MinGW build
commit 1790203deed19a93c60813f75956f2788ac96c95 category: bugfix issue: #I6VAS0 CVE: NA Signed-off-by: DongSenhao <dongsenhao2@huawei.com> --------------------------------------- Fix multiple compiler warnings and build errors reported by the MinGW cross-compiler. Signed-off-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Jaegeuk Kim <jaegeuk@kernel.org> Signed-off-by: dongsenhao <dongsenhao2@huawei.com>
This commit is contained in:
parent
20f34a96bb
commit
1d9cbf3c83
46
configure.ac
46
configure.ac
@ -83,6 +83,12 @@ AC_CHECK_LIB([uuid], [uuid_clear],
|
||||
[Define if you have libuuid])
|
||||
], [], [])
|
||||
|
||||
AC_CHECK_LIB([winpthread], [clock_gettime],
|
||||
[AC_SUBST([libwinpthread_LIBS], ["-lwinpthread"])
|
||||
AC_DEFINE([HAVE_LIBWINPTHREAD], [1],
|
||||
[Define if you have libwinpthread])
|
||||
], [], [])
|
||||
|
||||
# Checks for header files.
|
||||
AC_CHECK_HEADERS(m4_flatten([
|
||||
attr/xattr.h
|
||||
@ -100,6 +106,7 @@ AC_CHECK_HEADERS(m4_flatten([
|
||||
linux/xattr.h
|
||||
mach/mach_time.h
|
||||
mntent.h
|
||||
pthread_time.h
|
||||
scsi/sg.h
|
||||
selinux/selinux.h
|
||||
stdlib.h
|
||||
@ -129,7 +136,9 @@ AC_CHECK_FUNCS_ONCE([
|
||||
fsetxattr
|
||||
fstat
|
||||
fstat64
|
||||
getgid
|
||||
getmntent
|
||||
getuid
|
||||
keyctl
|
||||
llseek
|
||||
lseek64
|
||||
@ -140,6 +149,18 @@ AC_CHECK_FUNCS_ONCE([
|
||||
AS_IF([test "$ac_cv_header_byteswap_h" = "yes"],
|
||||
[AC_CHECK_DECLS([bswap_64],,,[#include <byteswap.h>])])
|
||||
|
||||
AC_MSG_CHECKING([for CLOCK_BOOTIME])
|
||||
AC_COMPILE_IFELSE([AC_LANG_PROGRAM([
|
||||
#include <time.h>
|
||||
#ifdef HAVE_PTHREAD_TIME_H
|
||||
#include <pthread_time.h>
|
||||
#endif
|
||||
],[return CLOCK_BOOTTIME])],
|
||||
[AC_MSG_RESULT([yes])
|
||||
AC_DEFINE([HAVE_CLOCK_BOOTTIME], [1],
|
||||
[Define if CLOCK_BOOTTIME is available])],
|
||||
[AC_MSG_RESULT([no])])
|
||||
|
||||
# AC_CANONICAL_HOST is needed to access the 'host_os' variable
|
||||
AC_CANONICAL_HOST
|
||||
|
||||
@ -209,4 +230,29 @@ AC_SUBST(LIBF2FS_CURRENT, 8)
|
||||
AC_SUBST(LIBF2FS_REVISION, 0)
|
||||
AC_SUBST(LIBF2FS_AGE, 0)
|
||||
|
||||
AH_BOTTOM([
|
||||
#ifndef _CONFIG_H_
|
||||
#define _CONFIG_H_
|
||||
|
||||
#ifdef HAVE_SYS_STAT_H
|
||||
#include <sys/stat.h>
|
||||
#endif
|
||||
|
||||
#ifndef HAVE_GETUID
|
||||
static inline unsigned int getuid(void) { return -1; }
|
||||
#endif
|
||||
#ifndef HAVE_GETGID
|
||||
static inline unsigned int getgid(void) { return -1; }
|
||||
#endif
|
||||
|
||||
#ifndef S_ISLNK
|
||||
#define S_ISLNK(mode) false
|
||||
#endif
|
||||
#ifndef S_ISSOCK
|
||||
#define S_ISSOCK(mode) false
|
||||
#endif
|
||||
|
||||
#endif
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
@ -10,7 +10,7 @@ fsck_f2fs_SOURCES = main.c fsck.c dump.c mount.c defrag.c resize.c \
|
||||
node.c segment.c dir.c sload.c xattr.c compress.c \
|
||||
dict.c mkquota.c quotaio.c quotaio_tree.c quotaio_v2.c
|
||||
fsck_f2fs_LDADD = ${libselinux_LIBS} ${libuuid_LIBS} \
|
||||
${liblzo2_LIBS} ${liblz4_LIBS} \
|
||||
${liblzo2_LIBS} ${liblz4_LIBS} ${libwinpthread_LIBS} \
|
||||
$(top_builddir)/lib/libf2fs.la
|
||||
|
||||
install-data-hook:
|
||||
|
@ -474,11 +474,19 @@ static void init_inode_block(struct f2fs_sb_info *sbi,
|
||||
links++;
|
||||
blocks++;
|
||||
} else if (de->file_type == F2FS_FT_REG_FILE) {
|
||||
#ifdef S_IFREG
|
||||
mode |= S_IFREG;
|
||||
#else
|
||||
ASSERT(0);
|
||||
#endif
|
||||
size = 0;
|
||||
} else if (de->file_type == F2FS_FT_SYMLINK) {
|
||||
ASSERT(de->link);
|
||||
#ifdef S_IFLNK
|
||||
mode |= S_IFLNK;
|
||||
#else
|
||||
ASSERT(0);
|
||||
#endif
|
||||
size = strlen(de->link);
|
||||
if (size + 1 > MAX_INLINE_DATA(node_blk))
|
||||
blocks++;
|
||||
|
@ -27,8 +27,12 @@
|
||||
#include <mach/mach_time.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#ifdef HAVE_SYS_IOCTL_H
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
#ifdef HAVE_SYS_MOUNT_H
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
#include <assert.h>
|
||||
|
||||
#include "f2fs_fs.h"
|
||||
@ -589,8 +593,12 @@ static unsigned char f2fs_type_by_mode[S_IFMT >> S_SHIFT] = {
|
||||
[S_IFCHR >> S_SHIFT] = F2FS_FT_CHRDEV,
|
||||
[S_IFBLK >> S_SHIFT] = F2FS_FT_BLKDEV,
|
||||
[S_IFIFO >> S_SHIFT] = F2FS_FT_FIFO,
|
||||
#ifdef S_IFSOCK
|
||||
[S_IFSOCK >> S_SHIFT] = F2FS_FT_SOCK,
|
||||
#endif
|
||||
#ifdef S_IFLNK
|
||||
[S_IFLNK >> S_SHIFT] = F2FS_FT_SYMLINK,
|
||||
#endif
|
||||
};
|
||||
|
||||
static inline int map_de_type(umode_t mode)
|
||||
|
13
fsck/main.c
13
fsck/main.c
@ -1065,16 +1065,12 @@ static int do_label(struct f2fs_sb_info *sbi)
|
||||
}
|
||||
#endif
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#ifdef HAVE_MACH_TIME_H
|
||||
static u64 get_boottime_ns()
|
||||
{
|
||||
#ifdef HAVE_MACH_TIME_H
|
||||
return mach_absolute_time();
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
#elif defined(HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_BOOTTIME)
|
||||
static u64 get_boottime_ns()
|
||||
{
|
||||
struct timespec t;
|
||||
@ -1082,6 +1078,11 @@ static u64 get_boottime_ns()
|
||||
clock_gettime(CLOCK_BOOTTIME, &t);
|
||||
return (u64)t.tv_sec * 1000000000LL + t.tv_nsec;
|
||||
}
|
||||
#else
|
||||
static u64 get_boottime_ns()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
int main(int argc, char **argv)
|
||||
|
@ -31,6 +31,8 @@
|
||||
#define ACL_OTHER (0x20)
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LINUX_BLKZONED_H
|
||||
|
||||
static int get_device_idx(struct f2fs_sb_info *sbi, uint32_t segno)
|
||||
{
|
||||
block_t seg_start_blkaddr;
|
||||
@ -45,8 +47,6 @@ static int get_device_idx(struct f2fs_sb_info *sbi, uint32_t segno)
|
||||
return 0;
|
||||
}
|
||||
|
||||
#ifdef HAVE_LINUX_BLKZONED_H
|
||||
|
||||
static int get_zone_idx_from_dev(struct f2fs_sb_info *sbi,
|
||||
uint32_t segno, uint32_t dev_idx)
|
||||
{
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <limits.h>
|
||||
#include <sys/types.h>
|
||||
#include <sys/stat.h>
|
||||
#include <arpa/inet.h>
|
||||
|
||||
#include "dict.h"
|
||||
#include "f2fs_fs.h"
|
||||
|
11
fsck/sload.c
11
fsck/sload.c
@ -30,6 +30,7 @@ typedef void (*fs_config_f)(const char *path, int dir,
|
||||
unsigned *uid, unsigned *gid,
|
||||
unsigned *mode, uint64_t *capabilities);
|
||||
|
||||
#ifndef _WIN32
|
||||
static fs_config_f fs_config_func = NULL;
|
||||
|
||||
#ifdef WITH_ANDROID
|
||||
@ -64,6 +65,7 @@ static int f2fs_make_directory(struct f2fs_sb_info *sbi,
|
||||
|
||||
return ret;
|
||||
}
|
||||
#endif
|
||||
|
||||
#ifdef HAVE_LIBSELINUX
|
||||
static int set_selinux_xattr(struct f2fs_sb_info *sbi, const char *path,
|
||||
@ -101,6 +103,7 @@ static int set_selinux_xattr(struct f2fs_sb_info *sbi, const char *path,
|
||||
#define set_selinux_xattr(...) 0
|
||||
#endif
|
||||
|
||||
#ifndef _WIN32
|
||||
static int set_perms_and_caps(struct dentry *de)
|
||||
{
|
||||
uint64_t capabilities = 0;
|
||||
@ -293,6 +296,14 @@ out_free:
|
||||
free(dentries);
|
||||
return 0;
|
||||
}
|
||||
#else
|
||||
static int build_directory(struct f2fs_sb_info *sbi, const char *full_path,
|
||||
const char *dir_path, const char *target_out_dir,
|
||||
nid_t dir_ino)
|
||||
{
|
||||
return -1;
|
||||
}
|
||||
#endif
|
||||
|
||||
static int configure_files(void)
|
||||
{
|
||||
|
@ -20,7 +20,14 @@
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
|
||||
#include "config.h"
|
||||
#ifdef HAVE_UUID_UUID_H
|
||||
#include <uuid/uuid.h>
|
||||
#else
|
||||
#define uuid_parse(a, b) -1
|
||||
#define uuid_generate(a)
|
||||
#endif
|
||||
|
||||
#include "f2fs_fs.h"
|
||||
#include "quota.h"
|
||||
|
@ -21,7 +21,6 @@
|
||||
#include <sys/mount.h>
|
||||
#endif
|
||||
#include <time.h>
|
||||
#include <uuid/uuid.h>
|
||||
#include <errno.h>
|
||||
#include <getopt.h>
|
||||
|
||||
@ -29,6 +28,9 @@
|
||||
#ifdef HAVE_LIBBLKID
|
||||
#include <blkid/blkid.h>
|
||||
#endif
|
||||
#ifdef HAVE_UUID_UUID_H
|
||||
#include <uuid/uuid.h>
|
||||
#endif
|
||||
|
||||
#include "f2fs_fs.h"
|
||||
#include "quota.h"
|
||||
|
@ -2,7 +2,10 @@
|
||||
|
||||
AM_CPPFLAGS = ${libuuid_CFLAGS} -I$(top_srcdir)/include
|
||||
AM_CFLAGS = -Wall
|
||||
sbin_PROGRAMS = f2fstat fibmap.f2fs parse.f2fs
|
||||
sbin_PROGRAMS = f2fstat
|
||||
if !WINDOWS
|
||||
sbin_PROGRAMS += fibmap.f2fs parse.f2fs
|
||||
endif
|
||||
f2fstat_SOURCES = f2fstat.c
|
||||
fibmap_f2fs_SOURCES = fibmap.c
|
||||
parse_f2fs_SOURCES = f2fs_io_parse.c
|
||||
|
@ -132,16 +132,12 @@ static void full_write(int fd, const void *buf, size_t count)
|
||||
}
|
||||
}
|
||||
|
||||
#if defined(__APPLE__)
|
||||
#ifdef HAVE_MACH_TIME_H
|
||||
static u64 get_current_us()
|
||||
{
|
||||
#ifdef HAVE_MACH_TIME_H
|
||||
return mach_absolute_time() / 1000;
|
||||
#else
|
||||
return 0;
|
||||
#endif
|
||||
}
|
||||
#else
|
||||
#elif defined(HAVE_CLOCK_GETTIME) && defined(HAVE_CLOCK_BOOTTIME)
|
||||
static u64 get_current_us()
|
||||
{
|
||||
struct timespec t;
|
||||
@ -149,6 +145,11 @@ static u64 get_current_us()
|
||||
clock_gettime(CLOCK_BOOTTIME, &t);
|
||||
return (u64)t.tv_sec * 1000000LL + t.tv_nsec / 1000;
|
||||
}
|
||||
#else
|
||||
static u64 get_current_us()
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
#endif
|
||||
|
||||
#define fsync_desc "fsync"
|
||||
|
@ -43,7 +43,9 @@
|
||||
#ifdef __KERNEL__
|
||||
#include <linux/fs.h>
|
||||
#endif
|
||||
#ifdef HAVE_UUID_UUID_H
|
||||
#include <uuid/uuid.h>
|
||||
#endif
|
||||
|
||||
#if !defined(HAVE_ADD_KEY) || !defined(HAVE_KEYCTL)
|
||||
#include <sys/syscall.h>
|
||||
|
@ -23,7 +23,9 @@
|
||||
#include <fcntl.h>
|
||||
#include <errno.h>
|
||||
#include <sys/types.h>
|
||||
#ifdef HAVE_SYS_IOCTL_H
|
||||
#include <sys/ioctl.h>
|
||||
#endif
|
||||
#include <sys/stat.h>
|
||||
#ifdef HAVE_SYS_SYSMACROS_H
|
||||
#include <sys/sysmacros.h>
|
||||
|
Loading…
Reference in New Issue
Block a user