Skip to content

Commit

Permalink
zfs-test/mmap_seek: fix build on musl
Browse files Browse the repository at this point in the history
it needs linux/fs.h for SEEK_DATA and friends

without linux/fs.h:

```
mmap_seek.c
mmap_seek.c: In function 'seek_data':
mmap_seek.c:37:40: error: 'SEEK_DATA' undeclared (first use in this function); did you mean 'SEEK_SET'?
   37 |  off_t data_offset = lseek(fd, offset, SEEK_DATA);
```

also it needs sys/sysmacros.h for P2ROUNDUP
without it:

```
make[5]: Entering directory '/var/tmp/portage/sys-fs/zfs-2.1.2-r1/work/zfs-2.1.2/tests/zfs-tests/cmd/mmap_seek'
powerpc64-gentoo-linux-musl-gcc -DHAVE_CONFIG_H -include ../../../../zfs_config.h -I../../../../include -I../../../../include -I../../../../module/icp/include -I../../../../lib/libspl/include -I../../../../lib/libspl/include/os/linu
x   -D_GNU_SOURCE -D_REENTRANT -D_FILE_OFFSET_BITS=64 -D_LARGEFILE64_SOURCE -DLIBEXECDIR=\"/usr/libexec\" -DRUNSTATEDIR=\"/var/run\" -DSBINDIR=\"/sbin\" -DSYSCONFDIR=\"/etc\" -DPKGDATADIR=\"/usr/share/zfs\" -UDEBUG -DNDEBUG  -DTEXT_
DOMAIN=\"zfs-linux-user\"   -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -fno-strict-aliasing -fno-omit-frame-pointer -Wimplicit-fallthrough    -Wno-format-zero-length  -O2 -pipe -frecord-gcc-switches -fdiagnostics-show
-option -c -o mmap_seek.o mmap_seek.c
mmap_seek.c: In function 'main':
mmap_seek.c:122:19: warning: implicit declaration of function 'P2ROUNDUP' [-Wimplicit-function-declaration]
  122 |  seek_hole(fd, 0, P2ROUNDUP(file_size / 2, block_size));
      |                   ^~~~~~~~~
/bin/sh ../../../../libtool  --tag=CC --silent  --mode=link powerpc64-gentoo-linux-musl-gcc -std=gnu99 -Wall -Wstrict-prototypes -Wmissing-prototypes -fno-strict-aliasing -fno-omit-frame-pointer -Wimplicit-fallthrough    -Wno-format
-zero-length  -O2 -pipe -frecord-gcc-switches -fdiagnostics-show-option    -Wl,-O1 -Wl,--as-needed -Wl,--defsym=__gentoo_check_ldflags__=0 -o mmap_seek mmap_seek.o
/usr/lib/gcc/powerpc64-gentoo-linux-musl/10.3.0/../../../../powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.o: in function `main':
mmap_seek.c:(.text.startup+0x1b8): undefined reference to `P2ROUNDUP'
/usr/lib/gcc/powerpc64-gentoo-linux-musl/10.3.0/../../../../powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x1d8): undefined reference to `P2ROUNDUP'
/usr/lib/gcc/powerpc64-gentoo-linux-musl/10.3.0/../../../../powerpc64-gentoo-linux-musl/bin/ld: mmap_seek.c:(.text.startup+0x21c): undefined reference to `P2ROUNDUP'
collect2: error: ld returned 1 exit status
make[5]: *** [Makefile:754: mmap_seek] Error 1
```

Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
  • Loading branch information
gyakovlev committed Dec 20, 2021
1 parent 8623bd9 commit 6f90d23
Showing 1 changed file with 4 additions and 0 deletions.
4 changes: 4 additions & 0 deletions tests/zfs-tests/cmd/mmap_seek/mmap_seek.c
Original file line number Diff line number Diff line change
Expand Up @@ -29,7 +29,11 @@
#include <stdlib.h>
#include <string.h>
#include <sys/mman.h>
#include <sys/sysmacros.h>
#include <errno.h>
#ifdef __linux__
#include <linux/fs.h>
#endif

static void
seek_data(int fd, off_t offset, off_t expected)
Expand Down

0 comments on commit 6f90d23

Please sign in to comment.