Mock Version: 1.4.21 Mock Version: 1.4.21 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'], chrootPath='/var/lib/mock/f33-build-139902-42390/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=432000uid=987gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bs --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1564099200 Wrote: /builddir/build/SRPMS/sheepdog-1.0.1-10.fc33.src.rpm Child return code was: 0 ENTER ['do_with_status'](['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'], chrootPath='/var/lib/mock/f33-build-139902-42390/root'env={'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'}shell=Falselogger=timeout=432000uid=987gid=135user='mockbuild'nspawn_args=[]unshare_net=TrueprintOutput=False) Executing command: ['bash', '--login', '-c', '/usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec'] with env {'TERM': 'vt100', 'SHELL': '/bin/bash', 'HOME': '/builddir', 'HOSTNAME': 'mock', 'PATH': '/usr/bin:/bin:/usr/sbin:/sbin', 'PROMPT_COMMAND': 'printf "\\033]0;\\007"', 'PS1': ' \\s-\\v\\$ ', 'LANG': 'en_US.UTF-8'} and shell False Building target platforms: riscv64 Building for target riscv64 setting SOURCE_DATE_EPOCH=1564099200 Executing(%prep): /bin/sh -e /var/tmp/rpm-tmp.Dk3RZk + umask 022 + cd /builddir/build/BUILD + cd /builddir/build/BUILD + rm -rf sheepdog-1.0.1 + /usr/bin/gzip -dc /builddir/build/SOURCES/v1.0.1.tar.gz + /usr/bin/tar -xof - + STATUS=0 + '[' 0 -ne 0 ']' + cd sheepdog-1.0.1 + /usr/bin/chmod -Rf a+rX,u+w,g-w,o-w . + RPM_EC=0 ++ jobs -p + exit 0 Executing(%build): /bin/sh -e /var/tmp/rpm-tmp.o5Rcao + umask 022 + cd /builddir/build/BUILD + cd sheepdog-1.0.1 + ./autogen.sh Building configuration system... libtoolize: putting auxiliary files in '.'. libtoolize: copying file './ltmain.sh' libtoolize: Consider adding 'AC_CONFIG_MACRO_DIRS([m4])' to configure.ac, libtoolize: and rerunning libtoolize and aclocal. libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am. configure.ac:36: installing './compile' configure.ac:32: installing './config.guess' configure.ac:32: installing './config.sub' configure.ac:27: installing './install-sh' configure.ac:27: installing './missing' dog/Makefile.am: installing './depcomp' parallel-tests: installing './test-driver' Now run ./configure and make + CFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection' + export CFLAGS + CXXFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection' + export CXXFLAGS + FFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FFLAGS + FCFLAGS='-O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -I/usr/lib64/gfortran/modules' + export FCFLAGS + LDFLAGS='-Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' + export LDFLAGS + LT_SYS_LIBRARY_PATH=/usr/lib64: + export LT_SYS_LIBRARY_PATH + '[' 1 = 1 ']' +++ dirname ./configure ++ find . -name config.guess -o -name config.sub + for i in $(find $(dirname ./configure) -name config.guess -o -name config.sub) ++ basename ./config.sub + '[' -f /usr/lib/rpm/redhat/config.sub ']' + /usr/bin/rm -f ./config.sub ++ basename ./config.sub + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.sub ./config.sub '/usr/lib/rpm/redhat/config.sub' -> './config.sub' + for i in $(find $(dirname ./configure) -name config.guess -o -name config.sub) ++ basename ./config.guess + '[' -f /usr/lib/rpm/redhat/config.guess ']' + /usr/bin/rm -f ./config.guess ++ basename ./config.guess + /usr/bin/cp -fv /usr/lib/rpm/redhat/config.guess ./config.guess '/usr/lib/rpm/redhat/config.guess' -> './config.guess' + '[' 1 = 1 ']' + '[' x '!=' 'x-Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld' ']' ++ find . -name ltmain.sh + for i in $(find . -name ltmain.sh) + /usr/bin/sed -i.backup -e 's~compiler_flags=$~compiler_flags="-Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld"~' ./ltmain.sh + ./configure --build=riscv64-redhat-linux-gnu --host=riscv64-redhat-linux-gnu --program-prefix= --disable-dependency-tracking --prefix=/usr --exec-prefix=/usr --bindir=/usr/bin --sbindir=/usr/sbin --sysconfdir=/etc --datadir=/usr/share --includedir=/usr/include --libdir=/usr/lib64 --libexecdir=/usr/libexec --localstatedir=/var --sharedstatedir=/var/lib --mandir=/usr/share/man --infodir=/usr/share/info --without-initddir --without-systemdsystemunitdir --disable-static checking for a BSD-compatible install... /usr/bin/install -c checking whether build environment is sane... yes checking for a thread-safe mkdir -p... /usr/bin/mkdir -p checking for gawk... gawk checking whether make sets $(MAKE)... yes checking whether make supports nested variables... yes checking build system type... riscv64-redhat-linux-gnu checking host system type... riscv64-redhat-linux-gnu checking how to print strings... printf checking whether make supports the include directive... yes (GNU style) checking for riscv64-redhat-linux-gnu-gcc... no checking for gcc... gcc checking whether the C compiler works... yes checking for C compiler default output file name... a.out checking for suffix of executables... checking whether we are cross compiling... no checking for suffix of object files... o checking whether we are using the GNU C compiler... yes checking whether gcc accepts -g... yes checking for gcc option to accept ISO C89... none needed checking whether gcc understands -c and -o together... yes checking dependency style of gcc... none checking for a sed that does not truncate output... /usr/bin/sed checking for grep that handles long lines and -e... /usr/bin/grep checking for egrep... /usr/bin/grep -E checking for fgrep... /usr/bin/grep -F checking for ld used by gcc... /usr/bin/ld checking if the linker (/usr/bin/ld) is GNU ld... yes checking for BSD- or MS-compatible name lister (nm)... /usr/bin/nm -B checking the name lister (/usr/bin/nm -B) interface... BSD nm checking whether ln -s works... yes checking the maximum length of command line arguments... 1572864 checking how to convert riscv64-redhat-linux-gnu file names to riscv64-redhat-linux-gnu format... func_convert_file_noop checking how to convert riscv64-redhat-linux-gnu file names to toolchain format... func_convert_file_noop checking for /usr/bin/ld option to reload object files... -r checking for riscv64-redhat-linux-gnu-objdump... no checking for objdump... objdump checking how to recognize dependent libraries... pass_all checking for riscv64-redhat-linux-gnu-dlltool... no checking for dlltool... no checking how to associate runtime and link libraries... printf %s\n checking for riscv64-redhat-linux-gnu-ar... no checking for ar... ar checking for archiver @FILE support... @ checking for riscv64-redhat-linux-gnu-strip... no checking for strip... strip checking for riscv64-redhat-linux-gnu-ranlib... no checking for ranlib... ranlib checking command to parse /usr/bin/nm -B output from gcc object... ok checking for sysroot... no checking for a working dd... /usr/bin/dd checking how to truncate binary pipes... /usr/bin/dd bs=4096 count=1 checking for riscv64-redhat-linux-gnu-mt... no checking for mt... no checking if : is a manifest tool... no checking how to run the C preprocessor... gcc -E checking for ANSI C header files... yes checking for sys/types.h... yes checking for sys/stat.h... yes checking for stdlib.h... yes checking for string.h... yes checking for memory.h... yes checking for strings.h... yes checking for inttypes.h... yes checking for stdint.h... yes checking for unistd.h... yes checking for dlfcn.h... yes checking for objdir... .libs checking if gcc supports -fno-rtti -fno-exceptions... no checking for gcc option to produce PIC... -fPIC -DPIC checking if gcc PIC flag -fPIC -DPIC works... yes checking if gcc static flag -static works... no checking if gcc supports -c -o file.o... yes checking if gcc supports -c -o file.o... (cached) yes checking whether the gcc linker (/usr/bin/ld) supports shared libraries... yes checking whether -lc should be explicitly linked in... no checking dynamic linker characteristics... GNU/Linux ld.so checking how to hardcode library paths into programs... immediate checking whether stripping libraries is possible... yes checking if libtool supports shared libraries... yes checking whether to build shared libraries... yes checking whether to build static libraries... no checking whether make supports nested variables... (cached) yes checking for riscv64-redhat-linux-gnu-gcc... gcc checking whether we are using the GNU C compiler... (cached) yes checking whether gcc accepts -g... (cached) yes checking for gcc option to accept ISO C89... (cached) none needed checking whether gcc understands -c and -o together... (cached) yes checking dependency style of gcc... (cached) none checking dependency style of gcc... none checking whether ln -s works... yes checking whether make sets $(MAKE)... (cached) yes checking for groff... groff checking for socket in -lsocket... no checking for clock_gettime in -lrt... yes checking for size_t... yes checking for working alloca.h... yes checking for alloca... yes checking for dirent.h that defines DIR... yes checking for library containing opendir... none required checking for ANSI C header files... (cached) yes checking for sys/wait.h that is POSIX.1 compatible... yes checking arpa/inet.h usability... yes checking arpa/inet.h presence... yes checking for arpa/inet.h... yes checking fcntl.h usability... yes checking fcntl.h presence... yes checking for fcntl.h... yes checking limits.h usability... yes checking limits.h presence... yes checking for limits.h... yes checking netdb.h usability... yes checking netdb.h presence... yes checking for netdb.h... yes checking netinet/in.h usability... yes checking netinet/in.h presence... yes checking for netinet/in.h... yes checking for stdint.h... (cached) yes checking for stdlib.h... (cached) yes checking for string.h... (cached) yes checking sys/ioctl.h usability... yes checking sys/ioctl.h presence... yes checking for sys/ioctl.h... yes checking sys/param.h usability... yes checking sys/param.h presence... yes checking for sys/param.h... yes checking sys/socket.h usability... yes checking sys/socket.h presence... yes checking for sys/socket.h... yes checking sys/time.h usability... yes checking sys/time.h presence... yes checking for sys/time.h... yes checking syslog.h usability... yes checking syslog.h presence... yes checking for syslog.h... yes checking for unistd.h... (cached) yes checking for sys/types.h... (cached) yes checking getopt.h usability... yes checking getopt.h presence... yes checking for getopt.h... yes checking malloc.h usability... yes checking malloc.h presence... yes checking for malloc.h... yes checking sys/sockio.h usability... no checking sys/sockio.h presence... no checking for sys/sockio.h... no checking utmpx.h usability... yes checking utmpx.h presence... yes checking for utmpx.h... yes checking urcu.h usability... yes checking urcu.h presence... yes checking for urcu.h... yes checking urcu/uatomic.h usability... yes checking urcu/uatomic.h presence... yes checking for urcu/uatomic.h... yes checking for an ANSI C-conforming const... yes checking for uid_t in sys/types.h... yes checking for inline... inline checking for size_t... (cached) yes checking whether time.h and sys/time.h may both be included... yes checking for working volatile... yes checking size of short... 2 checking size of int... 4 checking size of long... 8 checking size of long long... 8 checking sys/eventfd.h usability... yes checking sys/eventfd.h presence... yes checking for sys/eventfd.h... yes checking sys/signalfd.h usability... yes checking sys/signalfd.h presence... yes checking for sys/signalfd.h... yes checking sys/timerfd.h usability... yes checking sys/timerfd.h presence... yes checking for sys/timerfd.h... yes checking whether closedir returns void... no checking for error_at_line... yes checking for mbstate_t... yes checking for working POSIX fnmatch... yes checking for pid_t... yes checking vfork.h usability... no checking vfork.h presence... no checking for vfork.h... no checking for fork... yes checking for vfork... yes checking for working fork... yes checking for working vfork... (cached) yes checking whether gcc needs -traditional... no checking for stdlib.h... (cached) yes checking for GNU libc compatible malloc... yes checking for working memcmp... yes checking for stdlib.h... (cached) yes checking for GNU libc compatible realloc... yes checking sys/select.h usability... yes checking sys/select.h presence... yes checking for sys/select.h... yes checking for sys/socket.h... (cached) yes checking types of arguments for select... int,fd_set *,struct timeval * checking return type of signal handlers... void checking for vprintf... yes checking for _doprnt... no checking for alarm... yes checking for alphasort... yes checking for atexit... yes checking for bzero... yes checking for dup2... yes checking for endgrent... yes checking for endpwent... yes checking for fcntl... yes checking for getcwd... yes checking for getpeerucred... no checking for getpeereid... no checking for gettimeofday... yes checking for inet_ntoa... yes checking for memmove... yes checking for memset... yes checking for mkdir... yes checking for scandir... yes checking for select... yes checking for socket... yes checking for strcasecmp... yes checking for strchr... yes checking for strdup... yes checking for strerror... yes checking for strrchr... yes checking for strspn... yes checking for strstr... yes checking for fallocate... yes configure: Sanitizing prefix: /usr configure: Sanitizing exec_prefix: /usr checking for riscv64-redhat-linux-gnu-pkg-config... /usr/bin/riscv64-redhat-linux-gnu-pkg-config checking pkg-config is at least version 0.9.0... yes checking for fuse... yes checking for libcpg... yes checking for libcfg... yes checking for corosync2... yes checking for libqb... yes checking for libcorosync_common... yes checking for fuse.h... yes checking whether gcc supports "-Wall"... yes checking whether gcc supports "-Wshadow"... yes checking whether gcc supports "-Wmissing-prototypes"... yes checking whether gcc supports "-Wmissing-declarations"... yes checking whether gcc supports "-Wstrict-prototypes"... yes checking whether gcc supports "-Wpointer-arith"... yes checking whether gcc supports "-Wwrite-strings"... yes checking whether gcc supports "-Wbad-function-cast"... yes checking whether gcc supports "-Wmissing-format-attribute"... yes checking whether gcc supports "-Wformat=2"... yes checking whether gcc supports "-Wformat-security"... yes checking whether gcc supports "-Wformat-nonliteral"... yes checking whether gcc supports "-Wno-long-long"... yes checking whether gcc supports "-Wunsigned-char"... no checking whether gcc supports "-Wgnu89-inline"... no checking whether gcc supports "-Wno-strict-aliasing"... yes checking whether gcc supports "-Wcast-align"... yes checking that generated files are newer than configure... done configure: creating ./config.status config.status: creating Makefile config.status: creating dog/Makefile config.status: creating sheep/Makefile config.status: creating sheepfs/Makefile config.status: creating include/Makefile config.status: creating script/Makefile config.status: creating lib/Makefile config.status: creating man/Makefile config.status: creating shepherd/Makefile config.status: creating tests/unit/Makefile config.status: creating tests/unit/mock/Makefile config.status: creating tests/unit/dog/Makefile config.status: creating tests/unit/sheep/Makefile config.status: creating tests/unit/lib/Makefile config.status: creating tools/Makefile config.status: creating include/config.h config.status: executing depfiles commands config.status: executing libtool commands sheepdog configuration: Version = 1.0.1 Prefix = /usr Executables = /usr/sbin Man pages = /usr/share/man Doc dir = ${datarootdir}/doc/${PACKAGE_TARNAME} Libraries = /usr/lib64 Header files = /usr/include Arch-independent files = /usr/share State information = /var System configuration = /etc System init.d directory = no sheepdog config dir = /etc/sheepdog Features = corosync sheepfs sheepdog build info: Library SONAME = Default optimization = -DNDEBUG Default debug options = Extra compiler warnings = Env. defined CFLAG = -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection Env. defined CPPFLAGS = Env. defined LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld OS defined CFLAGS = OS defined CPPFLAGS = OS defined LDFLAGS = OS defined LDL = -ldl OS defined DYFLAGS = ANSI defined CPPFLAGS = Coverage CFLAGS = Coverage LDFLAGS = Fatal War. CFLAGS = Trace CFLAGS = Final CFLAGS = -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 Final CPPFLAGS = Final LDFLAGS = -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld + make -j4 V=1 Making all in lib make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o libsheepdog_a-util.o `test -f 'util.c' || echo './'`util.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o event.o event.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o logger.o logger.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o net.o net.c In file included from event.c:20: event.c: In function 'lookup_event': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ event.c:100:9: note: in expansion of macro 'rb_search' 100 | return rb_search(&events_tree, &key, rb, event_cmp); | ^~~~~~~~~ event.c: In function 'register_event_prio': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ event.c:124:3: note: in expansion of macro 'rb_insert' 124 | rb_insert(&events_tree, ei, rb, event_cmp); | ^~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from net.c:31: ../include/sheep.h: In function 'oid_to_first_vnode': In file included from ../include/logger.h:20, from ../include/util.h:61, from logger.c:38: logger.c: In function 'init_log_formatter': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:281:2: note: in expansion of macro 'list_for_each_entry' 281 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ logger.c: In function 'dolog': logger.c:402:23: warning: cast increases required alignment of target type [-Wcast-align] 402 | struct logmsg *msg = (struct logmsg *)buf; | ^ logger.c:431:10: warning: cast increases required alignment of target type [-Wcast-align] 431 | msg = (struct logmsg *)la->tail; | ^ logger.c: In function 'log_flush': logger.c:525:9: warning: cast increases required alignment of target type [-Wcast-align] 525 | msg = (const struct logmsg *)(log_buff + done); | ^ In file included from ../include/logger.h:20, from ../include/util.h:61, from logger.c:38: logger.c: In function 'early_log_init': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:642:2: note: in expansion of macro 'list_for_each_entry' 642 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ logger.c:651:2: note: in expansion of macro 'list_for_each_entry' 651 | list_for_each_entry(f, &log_formats, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ net.c: In function 'str_to_addr': net.c:441:10: warning: cast increases required alignment of target type [-Wcast-align] 441 | sin = (struct sockaddr_in *) rp->ai_addr; | ^ net.c:445:11: warning: cast increases required alignment of target type [-Wcast-align] 445 | sin6 = (struct sockaddr_in6 *) rp->ai_addr; | ^ net.c: In function 'get_local_addr': net.c:548:10: warning: cast increases required alignment of target type [-Wcast-align] 548 | sin = (struct sockaddr_in *)ifa->ifa_addr; | ^ net.c:554:11: warning: cast increases required alignment of target type [-Wcast-align] 554 | sin6 = (struct sockaddr_in6 *)ifa->ifa_addr; | ^ logger.c: In function 'server_log_formatter': logger.c:162:27: warning: '%d' directive output may be truncated writing between 1 and 11 bytes into a region of size between 0 and 19 [-Wformat-truncation=] 162 | snprintf(str, size, "%s %d", name, idx); | ^~ In file included from /usr/include/stdio.h:871, from logger.c:18: /usr/include/bits/stdio2.h:67:10: note: '__builtin___snprintf_chk' output between 3 and 32 bytes into a destination of size 20 67 | return __builtin___snprintf_chk (__s, __n, __USE_FORTIFY_LEVEL - 1, | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ 68 | __bos (__s), __fmt, __va_arg_pack ()); | ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o util.o util.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o rbtree.o rbtree.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o strbuf.o strbuf.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sha1.o sha1.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o option.o option.c In file included from /usr/include/arpa/inet.h:22, from sha1.c:22: sha1.c: In function 'sha1_transform': sha1.c:74:23: warning: cast increases required alignment of target type [-Wcast-align] 74 | block32[a] = ntohl(((const uint32_t *)in)[a]); | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o work.o work.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sockfd_cache.o sockfd_cache.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o fec.o fec.c In file included from ../include/logger.h:20, from ../include/util.h:61, from work.c:32: work.c: In function 'queue_work': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:277:23: note: in expansion of macro 'container_of' 277 | struct wq_info *wi = container_of(q, struct wq_info, q); | ^~~~~~~~~~~~ work.c: In function 'worker_thread_request_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ work.c:305:2: note: in expansion of macro 'list_for_each_entry' 305 | list_for_each_entry(wi, &wq_info_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ work.c:311:11: note: in expansion of macro 'list_first_entry' 311 | work = list_first_entry(&list, struct work, w_list); | ^~~~~~~~~~~~~~~~ work.c: In function 'worker_routine': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ work.c:350:10: note: in expansion of macro 'list_first_entry' 350 | work = list_first_entry(&wi->q.pending_list, | ^~~~~~~~~~~~~~~~ work.c: In function 'create_fixed_work_queue': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:459:7: note: in expansion of macro 'container_of' 459 | wi = container_of(wq, struct wq_info, q); | ^~~~~~~~~~~~ work.c: In function 'work_queue_empty': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ work.c:470:23: note: in expansion of macro 'container_of' 470 | struct wq_info *wi = container_of(q, struct wq_info, q); | ^~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sockfd_cache.h:4, from sockfd_cache.c:32: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ sockfd_cache.c:87:9: note: in expansion of macro 'rb_insert' 87 | return rb_insert(&sockfd_cache.root, new, rb, sockfd_cache_cmp); | ^~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_search': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ sockfd_cache.c:94:9: note: in expansion of macro 'rb_search' 94 | return rb_search(&sockfd_cache.root, &key, rb, sockfd_cache_cmp); | ^~~~~~~~~ sockfd_cache.c: In function 'sockfd_cache_add_group': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ sockfd_cache.c:218:2: note: in expansion of macro 'rb_for_each_entry' 218 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sockfd_cache.c: In function 'do_grow_fds': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ sockfd_cache.c:264:2: note: in expansion of macro 'rb_for_each_entry' 264 | rb_for_each_entry(entry, &sockfd_cache.root, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o sd_inode.o sd_inode.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o common.o common.c In file included from ../include/logger.h:20, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from sd_inode.c:83: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ In file included from sd_inode.c:83: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/logger.h:20, from ../include/util.h:61, from sd_inode.c:83: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ sd_inode.c: In function 'traverse_btree': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:152:10: note: in expansion of macro 'LAST_INDEX' 152 | last = LAST_INDEX(inode->data_vdi_id); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:153:10: note: in expansion of macro 'FIRST_INDEX' 153 | iter = FIRST_INDEX(inode->data_vdi_id); | ^~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:161:14: note: in expansion of macro 'LAST_INDRECT_IDX' 161 | last_idx = LAST_INDRECT_IDX(inode->data_vdi_id); | ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:162:14: note: in expansion of macro 'FIRST_INDIRECT_IDX' 162 | iter_idx = FIRST_INDIRECT_IDX(inode->data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:179:11: note: in expansion of macro 'LAST_INDEX' 179 | last = LAST_INDEX(leaf_node); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:180:11: note: in expansion of macro 'FIRST_INDEX' 180 | iter = FIRST_INDEX(leaf_node); | ^~~~~~~~~~~ sd_inode.c: In function 'index_in_range': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:340:26: note: in expansion of macro 'LAST_INDEX' 340 | struct sd_index *last = LAST_INDEX(header); | ^~~~~~~~~~ sd_inode.c: In function 'indirect_in_range': sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:349:33: note: in expansion of macro 'LAST_INDRECT_IDX' 349 | struct sd_indirect_idx *last = LAST_INDRECT_IDX(header); | ^~~~~~~~~~~~~~~~ In file included from sd_inode.c:83: sd_inode.c: In function 'search_index_entry': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ ../include/util.h:178:26: note: in definition of macro 'nbsearch' 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:360:24: note: in expansion of macro 'FIRST_INDEX' 360 | return nbsearch(&tmp, FIRST_INDEX(header), header->entries, | ^~~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ ../include/util.h:178:38: note: in definition of macro 'nbsearch' 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:360:24: note: in expansion of macro 'FIRST_INDEX' 360 | return nbsearch(&tmp, FIRST_INDEX(header), header->entries, | ^~~~~~~~~~~ sd_inode.c: In function 'search_indirect_entry': sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ ../include/util.h:178:26: note: in definition of macro 'nbsearch' 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:370:24: note: in expansion of macro 'FIRST_INDIRECT_IDX' 370 | return nbsearch(&tmp, FIRST_INDIRECT_IDX(header), header->entries, | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ ../include/util.h:178:38: note: in definition of macro 'nbsearch' 178 | typeof(key) __m, __l = base, __r = base + nmemb - 1; \ | ^~~~ sd_inode.c:370:24: note: in expansion of macro 'FIRST_INDIRECT_IDX' 370 | return nbsearch(&tmp, FIRST_INDIRECT_IDX(header), header->entries, | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function 'insert_index_nosearch': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:378:26: note: in expansion of macro 'LAST_INDEX' 378 | struct sd_index *last = LAST_INDEX(header); | ^~~~~~~~~~ sd_inode.c: In function 'insert_indirect_nosearch': sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:390:33: note: in expansion of macro 'LAST_INDRECT_IDX' 390 | struct sd_indirect_idx *last = LAST_INDRECT_IDX(header); | ^~~~~~~~~~~~~~~~ sd_inode.c: In function 'insert_idx_entry': sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:407:3: note: in expansion of macro 'FIRST_INDIRECT_IDX' 407 | FIRST_INDIRECT_IDX(header)->idx = idx; | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:408:3: note: in expansion of macro 'FIRST_INDIRECT_IDX' 408 | FIRST_INDIRECT_IDX(header)->oid = oid; | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function 'split_to_nodes': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:428:10: note: in expansion of macro 'FIRST_INDEX' 428 | mempcpy(FIRST_INDEX(right), OFFSET_EXT(src, num), | ^~~~~~~~~~~ sd_inode.c: In function 'transfer_to_idx_root': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:465:26: note: in expansion of macro 'LAST_INDEX' 465 | insert_idx_entry(root, (LAST_INDEX(left) - 1)->idx, left_oid); | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:466:26: note: in expansion of macro 'LAST_INDEX' 466 | insert_idx_entry(root, (LAST_INDEX(right) - 1)->idx, right_oid); | ^~~~~~~~~~ sd_inode.c: In function 'split_index_node': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:585:5: note: in expansion of macro 'LAST_INDEX' 585 | LAST_INDEX(new_ext)->idx, new_oid); | ^~~~~~~~~~ sd_inode.c: In function 'insert_new_node': sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:95:29: note: in expansion of macro 'FIRST_INDEX' 95 | #define LAST_INDEX(data) (FIRST_INDEX(data) + INDEX_HEADER(data)->entries) | ^~~~~~~~~~~ sd_inode.c:632:6: note: in expansion of macro 'LAST_INDEX' 632 | (LAST_INDEX(path->p_index_header) - 1)->idx; | ^~~~~~~~~~ sd_inode.c:93:29: warning: cast increases required alignment of target type [-Wcast-align] 93 | #define FIRST_INDEX(data) ((struct sd_index *)((char *)(data) + \ | ^ sd_inode.c:646:12: note: in expansion of macro 'FIRST_INDEX' 646 | FIRST_INDEX(leaf_node), idx, | ^~~~~~~~~~~ sd_inode.c: In function 'sd_inode_copy_vdis': sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:102:35: note: in expansion of macro 'FIRST_INDIRECT_IDX' 102 | #define LAST_INDRECT_IDX(data) (FIRST_INDIRECT_IDX(data) + \ | ^~~~~~~~~~~~~~~~~~ sd_inode.c:843:14: note: in expansion of macro 'LAST_INDRECT_IDX' 843 | last_idx = LAST_INDRECT_IDX(data_vdi_id); | ^~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:844:18: note: in expansion of macro 'FIRST_INDIRECT_IDX' 844 | old_iter_idx = FIRST_INDIRECT_IDX(data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c:100:36: warning: cast increases required alignment of target type [-Wcast-align] 100 | #define FIRST_INDIRECT_IDX(data) ((struct sd_indirect_idx *)((char *)(data) + \ | ^ sd_inode.c:845:18: note: in expansion of macro 'FIRST_INDIRECT_IDX' 845 | new_iter_idx = FIRST_INDIRECT_IDX(newi->data_vdi_id); | ^~~~~~~~~~~~~~~~~~ sd_inode.c: In function 'volume_stat': sd_inode.c:905:7: warning: cast increases required alignment of target type [-Wcast-align] 905 | p = (uint64_t *)(inode->data_vdi_id + 1); | ^ sd_inode.c:907:7: warning: cast increases required alignment of target type [-Wcast-align] 907 | p = (uint64_t *)inode->data_vdi_id; | ^ /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-sheep.lo `test -f 'shared/sheep.c' || echo './'`shared/sheep.c In file included from ../include/logger.h:20, from ../include/util.h:61, from common.c:23: common.c: In function 'purge_work_fn': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ common.c:132:26: note: in expansion of macro 'container_of' 132 | struct purge_work *pw = container_of(work, struct purge_work, work); | ^~~~~~~~~~~~ common.c: In function 'purge_work_done': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ common.c:160:26: note: in expansion of macro 'container_of' 160 | struct purge_work *pw = container_of(work, struct purge_work, work); | ^~~~~~~~~~~~ libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/sheep.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-sheep.o /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-vdi.lo `test -f 'shared/vdi.c' || echo './'`shared/vdi.c /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_la-ops.lo `test -f 'shared/ops.c' || echo './'`shared/ops.c In file included from shared/sheepdog.h:23, from shared/sheep.c:14: shared/sheep.c: In function 'submit_blocking_sheep_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'find_inflight_request_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'request_handler': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:238:10: note: in expansion of macro 'list_first_entry' 238 | req = list_first_entry(&c->request_list, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_first_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:255:9: note: in expansion of macro 'list_first_entry' 255 | req = list_first_entry(&c->inflight_list, struct sheep_request, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=compile gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o libsheepdog_la-util.lo `test -f 'util.c' || echo './'`util.c libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/vdi.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-vdi.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c shared/ops.c -fPIC -DPIC -o shared/.libs/libsheepdog_la-ops.o libtool: compile: gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c util.c -fPIC -DPIC -o .libs/libsheepdog_la-util.o In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from /usr/include/string.h:495, from ../include/sheepdog_proto.h:20, from shared/sheepdog.h:21, from shared/sheep.c:14: In function 'memcpy', inlined from 'sd_connect' at shared/sheep.c:462:2: /usr/include/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' forming offset [16, 19] is out of the bounds [0, 16] of object 'addr' with type 'struct sockaddr_in' [-Warray-bounds] 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'sd_connect': shared/sheep.c:401:21: note: 'addr' declared here 401 | struct sockaddr_in addr; | ^~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:324:27: warning: cast increases required alignment of target type [-Wcast-align] 324 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:557:27: warning: cast increases required alignment of target type [-Wcast-align] 557 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_a-sheep.o `test -f 'shared/sheep.c' || echo './'`shared/sheep.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -I../lib/tracepoint -DNO_SHEEPDOG_LOGGER -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o shared/libsheepdog_a-vdi.o `test -f 'shared/vdi.c' || echo './'`shared/vdi.c In file included from shared/sheepdog.h:23, from shared/sheep.c:14: shared/sheep.c: In function 'submit_blocking_sheep_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:172:2: note: in expansion of macro 'list_for_each_entry' 172 | list_for_each_entry(req, &c->blocking_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'find_inflight_request_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:187:2: note: in expansion of macro 'list_for_each_entry' 187 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'request_handler': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:238:10: note: in expansion of macro 'list_first_entry' 238 | req = list_first_entry(&c->request_list, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_first_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:38:2: note: in expansion of macro 'list_entry' 38 | list_entry((head)->n.next, type, member) | ^~~~~~~~~~ shared/sheep.c:255:9: note: in expansion of macro 'list_first_entry' 255 | req = list_first_entry(&c->inflight_list, struct sheep_request, | ^~~~~~~~~~~~~~~~ shared/sheep.c: In function 'fetch_inflight_request': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ shared/sheep.c:271:2: note: in expansion of macro 'list_for_each_entry' 271 | list_for_each_entry(req, &c->inflight_list, list) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'disks_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ In file included from shared/sheepdog.h:23, from shared/vdi.c:14: ../include/sheep.h: In function 'node_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ In file included from ../include/rbtree.h:4, from ../include/internal_proto.h:24, from ../include/sheep.h:16, from shared/vdi.c:16: ../include/sheep.h: In function 'nodes_to_vnodes': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ shared/vdi.c: In function 'sd_vdi_snapshot': shared/vdi.c:324:27: warning: cast increases required alignment of target type [-Wcast-align] 324 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ shared/vdi.c: In function 'sd_vdi_rollback': shared/vdi.c:557:27: warning: cast increases required alignment of target type [-Wcast-align] 557 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ rm -f libsd.a ar cru libsd.a event.o logger.o net.o util.o rbtree.o strbuf.o sha1.o option.o work.o sockfd_cache.o fec.o sd_inode.o common.o ranlib libsd.a /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -avoid-version -shared -module -export-dynamic -export-symbols-regex 'sd_' -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o libsheepdog.la -rpath /usr/lib64 shared/libsheepdog_la-sheep.lo shared/libsheepdog_la-vdi.lo shared/libsheepdog_la-ops.lo libsheepdog_la-util.lo -lrt In file included from /usr/include/string.h:495, from ../include/sheepdog_proto.h:20, from shared/sheepdog.h:21, from shared/sheep.c:14: In function 'memcpy', inlined from 'sd_connect' at shared/sheep.c:462:2: /usr/include/bits/string_fortified.h:34:10: warning: '__builtin_memcpy' forming offset [16, 19] is out of the bounds [0, 16] of object 'addr' with type 'struct sockaddr_in' [-Warray-bounds] 34 | return __builtin___memcpy_chk (__dest, __src, __len, __bos0 (__dest)); | ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ shared/sheep.c: In function 'sd_connect': shared/sheep.c:401:21: note: 'addr' declared here 401 | struct sockaddr_in addr; | ^~~~ rm -f libsheepdog.a ar cru libsheepdog.a shared/libsheepdog_a-sheep.o shared/libsheepdog_a-vdi.o libsheepdog_a-util.o ranlib libsheepdog.a libtool: link: /usr/bin/nm -B shared/.libs/libsheepdog_la-sheep.o shared/.libs/libsheepdog_la-vdi.o shared/.libs/libsheepdog_la-ops.o .libs/libsheepdog_la-util.o | sed -n -e 's/^.*[ ]\([ABCDGIRSTW][ABCDGIRSTW]*\)[ ][ ]*\([_A-Za-z][_A-Za-z0-9]*\)$/\1 \2 \2/p' | sed '/ __gnu_lto/d' | /usr/bin/sed 's/.* //' | sort | uniq > .libs/libsheepdog.exp libtool: link: /usr/bin/grep -E -e "sd_" ".libs/libsheepdog.exp" > ".libs/libsheepdog.expT" libtool: link: mv -f ".libs/libsheepdog.expT" ".libs/libsheepdog.exp" libtool: link: echo "{ global:" > .libs/libsheepdog.ver libtool: link: cat .libs/libsheepdog.exp | sed -e "s/\(.*\)/\1;/" >> .libs/libsheepdog.ver libtool: link: echo "local: *; };" >> .libs/libsheepdog.ver libtool: link: gcc -shared -fPIC -DPIC shared/.libs/libsheepdog_la-sheep.o shared/.libs/libsheepdog_la-vdi.o shared/.libs/libsheepdog_la-ops.o .libs/libsheepdog_la-util.o -lrt -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -O2 -g -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -ggdb3 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -Wl,-soname -Wl,libsheepdog.so -Wl,-version-script -Wl,.libs/libsheepdog.ver -o .libs/libsheepdog.so libtool: link: ( cd ".libs" && rm -f "libsheepdog.la" && ln -s "../libsheepdog.la" "libsheepdog.la" ) make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/lib' Making all in dog make[1]: Entering directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o dog.o dog.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o common.o common.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o treeview.o treeview.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o vdi.o vdi.c In file included from ../include/logger.h:20, from ../include/util.h:61, from treeview.c:16: treeview.c: In function 'find_vdi': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:32:2: note: in expansion of macro 'list_for_each_entry' 32 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'find_vdi_by_vid': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:47:2: note: in expansion of macro 'list_for_each_entry' 47 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'find_vdi_by_name': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:63:2: note: in expansion of macro 'list_for_each_entry' 63 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'compaction': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:129:2: note: in expansion of macro 'list_for_each_entry' 129 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'get_depth': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:143:2: note: in expansion of macro 'list_for_each_entry' 143 | list_for_each_entry(vdi, &parent->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function '_dump_tree': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:196:2: note: in expansion of macro 'list_for_each_entry' 196 | list_for_each_entry(vdi, ¤t->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ treeview.c: In function 'dump_tree': ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:59:37: note: in expansion of macro 'list_entry' 59 | for (typeof(pos) LOCAL(n) = (pos = list_entry((head)->n.next, \ | ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:62:10: note: in expansion of macro 'list_entry' 62 | list_entry(pos->member.next, \ | ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ ../include/compiler.h:28:2: warning: cast increases required alignment of target type [-Wcast-align] 28 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/list.h:51:2: note: in expansion of macro 'container_of' 51 | container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/list.h:66:34: note: in expansion of macro 'list_entry' 66 | pos = LOCAL(n), LOCAL(n) = list_entry(LOCAL(n)->member.next, \ | ^~~~~~~~~~ treeview.c:219:2: note: in expansion of macro 'list_for_each_entry' 219 | list_for_each_entry(vdi, &root->children, siblings) { | ^~~~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from common.c:12: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.c:19: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ vdi.c: In function 'for_each_node_print': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:271:2: note: in expansion of macro 'rb_for_each_entry' 271 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function 'vdi_snapshot': vdi.c:741:27: warning: cast increases required alignment of target type [-Wcast-align] 741 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ vdi.c: In function 'vdi_resize': vdi.c:946:27: warning: cast increases required alignment of target type [-Wcast-align] 946 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ vdi.c: In function 'vdi_rollback': vdi.c:1099:27: warning: cast increases required alignment of target type [-Wcast-align] 1099 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: vdi.c: In function 'save_oid': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ vdi.c:1258:11: note: in expansion of macro 'rb_search' 1258 | entry = rb_search(&oid_tree, &key, rb, oid_entry_cmp); | ^~~~~~~~~ dog.c: In function 'update_node_list': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ dog.c:108:3: note: in expansion of macro 'rb_insert' 108 | rb_insert(&sd_nroot, n, rb, node_cmp); | ^~~~~~~~~ vdi.c: In function 'build_oid_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1280:2: note: in expansion of macro 'rb_for_each_entry' 1280 | rb_for_each_entry(node, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ vdi.c:1286:3: note: in expansion of macro 'rb_insert' 1286 | rb_insert(&oid_tree, entry, rb, oid_entry_cmp); | ^~~~~~~~~ vdi.c: In function 'destroy_oid_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1304:2: note: in expansion of macro 'rb_for_each_entry' 1304 | rb_for_each_entry(entry, &oid_tree, rb) | ^~~~~~~~~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ vdi.c:1306:2: note: in expansion of macro 'rb_destroy' 1306 | rb_destroy(&oid_tree, struct oid_entry, rb); | ^~~~~~~~~~ vdi.c: In function 'do_vdi_check_exist': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ vdi.c:1318:2: note: in expansion of macro 'rb_for_each_entry' 1318 | rb_for_each_entry(entry, &oid_tree, rb) { | ^~~~~~~~~~~~~~~~~ vdi.c: In function 'do_track_object': vdi.c:1390:9: warning: cast increases required alignment of target type [-Wcast-align] 1390 | log = (struct epoch_log *)next_log; | ^ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ vdi.c:1408:4: note: in expansion of macro 'rb_insert' 1408 | rb_insert(&nroot, &log->nodes[k], rb, node_cmp); | ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ vdi.c:1419:3: note: in expansion of macro 'rb_destroy' 1419 | rb_destroy(&vroot, struct sd_vnode, rb); | ^~~~~~~~~~ vdi.c: In function 'vdi_repair_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1891:31: note: in expansion of macro 'container_of' 1891 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function 'vdi_repair_main': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1919:31: note: in expansion of macro 'container_of' 1919 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function 'vdi_check_object_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:1935:31: note: in expansion of macro 'container_of' 1935 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function 'vdi_check_object_main': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ vdi.c:2139:31: note: in expansion of macro 'container_of' 2139 | struct vdi_check_work *vcw = container_of(work, struct vdi_check_work, | ^~~~~~~~~~~~ vdi.c: In function 'vdi_restore': vdi.c:2564:34: warning: cast increases required alignment of target type [-Wcast-align] 2564 | struct sd_inode *parent_inode = (struct sd_inode *)buf; | ^ vdi.c: In function 'vdi_alter_copy': vdi.c:2751:27: warning: cast increases required alignment of target type [-Wcast-align] 2751 | struct sd_inode *inode = (struct sd_inode *)buf; | ^ In file included from ../include/util.h:61, from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from vdi.c:21: vdi.c: In function 'for_each_node_print': vdi.c:285:32: warning: statement will never be executed [-Wswitch-unreachable] 285 | sd_err("%s", sd_strerror(rsp->result)); | ~~~^~~~~~~~ ../include/logger.h:73:49: note: in definition of macro 'sd_err' 73 | log_write(SDOG_ERR, __func__, __LINE__, fmt, ##args) | ^~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o node.o node.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o cluster.o cluster.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from node.c:12: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function 'node_list': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:39:2: note: in expansion of macro 'rb_for_each_entry' 39 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function 'node_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:58:2: note: in expansion of macro 'rb_for_each_entry' 58 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function 'node_recovery_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:200:2: note: in expansion of macro 'rb_for_each_entry' 200 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ node.c: In function 'idx_to_node': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ node.c:356:22: note: in expansion of macro 'rb_entry' 356 | struct sd_node *n = rb_entry(rb_first(nroot), struct sd_node, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ node.c:359:7: note: in expansion of macro 'rb_entry' 359 | n = rb_entry(rb_next(&n->rb), struct sd_node, rb); | ^~~~~~~~ node.c: In function 'md_info': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ node.c:544:2: note: in expansion of macro 'rb_for_each_entry' 544 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o upgrade.o upgrade.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from cluster.c:17: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.c: In function 'cluster_format': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ cluster.c:106:2: note: in expansion of macro 'rb_for_each_entry' 106 | rb_for_each_entry(n, &sd_nroot, rb) { | ^~~~~~~~~~~~~~~~~ cluster.c: In function 'cluster_info': cluster.c:386:9: warning: cast increases required alignment of target type [-Wcast-align] 386 | log = (struct epoch_log *)next_log; | ^ cluster.c:387:14: warning: cast increases required alignment of target type [-Wcast-align] 387 | last_log = (struct epoch_log *)((char *)log->nodes | ^ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from upgrade.c:19: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ upgrade.c: In function 'get_zones_nr_from': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ upgrade.c:42:2: note: in expansion of macro 'rb_for_each_entry' 42 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ upgrade.c: In function 'alloc_vnode_info_from_epoch_file': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ upgrade.c:108:3: note: in expansion of macro 'rb_insert' 108 | rb_insert(&vinfo->nroot, &nodes[i], rb, node_cmp); | ^~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o benchmark.o benchmark.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from dog.h:25, from benchmark.c:17: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ benchmark.c: In function 'benchmark_io_main': Built dog ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ benchmark.c:54:12: note: in expansion of macro 'container_of' 54 | io_work = container_of(work, struct benchmark_io_work, work); | ^~~~~~~~~~~~ benchmark.c: In function 'benchmark_io_worker': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ benchmark.c:65:12: note: in expansion of macro 'container_of' 65 | io_work = container_of(work, struct benchmark_io_work, work); | ^~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/object_tree.o farm/object_tree.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/sha1_file.o farm/sha1_file.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/snap.o farm/snap.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/object_tree.c:14: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ farm/object_tree.c: In function 'do_insert': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/object_tree.c:45:9: note: in expansion of macro 'rb_insert' 45 | return rb_insert(root, new, node, object_tree_cmp); | ^~~~~~~~~ farm/object_tree.c: In function 'object_tree_print': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/object_tree.c:74:2: note: in expansion of macro 'rb_for_each_entry' 74 | rb_for_each_entry(entry, &tree.root, node) | ^~~~~~~~~~~~~~~~~ farm/object_tree.c: In function 'object_tree_free': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/object_tree.c:80:2: note: in expansion of macro 'rb_destroy' 80 | rb_destroy(&tree.root, struct object_tree_entry, node); | ^~~~~~~~~~ farm/object_tree.c: In function 'for_each_object_in_tree': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/object_tree.c:97:2: note: in expansion of macro 'rb_for_each_entry' 97 | rb_for_each_entry(entry, &tree.root, node) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/sha1_file.c:27: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/snap.c:22: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/trunk.o farm/trunk.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/farm.o farm/farm.c gcc -DHAVE_CONFIG_H -I. -I../include -I../include -I../include -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -c -o farm/slice.o farm/slice.c In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/trunk.c:25: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/farm.c:18: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ farm/farm.c: In function 'add_active_vdi': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:92:8: note: in expansion of macro 'rb_insert' 92 | ret = rb_insert(&active_vdi_tree, vdi, rb, vdi_cmp); | ^~~~~~~~~ farm/farm.c: In function 'register_vdi': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:113:8: note: in expansion of macro 'rb_search' 113 | ret = rb_search(®istered_vdi_tree, new, rb, registered_vdi_cmp); | ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:121:2: note: in expansion of macro 'rb_insert' 121 | rb_insert(®istered_vdi_tree, new, rb, registered_vdi_cmp); | ^~~~~~~~~ farm/farm.c: In function 'create_active_vdis': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ farm/farm.c:130:2: note: in expansion of macro 'rb_for_each_entry' 130 | rb_for_each_entry(vdi, &active_vdi_tree, rb) { | ^~~~~~~~~~~~~~~~~ farm/farm.c: In function 'do_save_object': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:266:7: note: in expansion of macro 'container_of' 266 | sw = container_of(work, struct snapshot_work, work); | ^~~~~~~~~~~~ farm/farm.c: In function 'save_object_done': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:293:29: note: in expansion of macro 'container_of' 293 | struct snapshot_work *sw = container_of(work, struct snapshot_work, | ^~~~~~~~~~~~ farm/farm.c: In function 'farm_save_snapshot': farm/farm.c:382:35: warning: cast increases required alignment of target type [-Wcast-align] 382 | if (trunk_file_write(nr_objects, (struct trunk_entry *)trunk_buf.buf, | ^ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/farm.c:18: farm/farm.c: In function 'do_load_object': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:411:7: note: in expansion of macro 'container_of' 411 | sw = container_of(work, struct snapshot_work, work); | ^~~~~~~~~~~~ farm/farm.c: In function 'load_object_done': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ farm/farm.c:446:29: note: in expansion of macro 'container_of' 446 | struct snapshot_work *sw = container_of(work, struct snapshot_work, | ^~~~~~~~~~~~ farm/farm.c: In function 'queue_load_snapshot_work': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:465:8: note: in expansion of macro 'rb_search' 465 | if (!rb_search(®istered_obj_tree, &key, rb, | ^~~~~~~~~ farm/farm.c: In function 'do_register_obj': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:88:12: note: in expansion of macro 'rb_entry' 88 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ farm/farm.c:522:6: note: in expansion of macro 'rb_search' 522 | if (rb_search(®istered_obj_tree, new, rb, registered_obj_cmp)) { | ^~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ farm/farm.c:527:2: note: in expansion of macro 'rb_insert' 527 | rb_insert(®istered_obj_tree, new, rb, registered_obj_cmp); | ^~~~~~~~~ farm/farm.c: In function 'farm_load_snapshot': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:581:2: note: in expansion of macro 'rb_destroy' 581 | rb_destroy(&active_vdi_tree, struct active_vdi_entry, rb); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:582:2: note: in expansion of macro 'rb_destroy' 582 | rb_destroy(®istered_vdi_tree, struct registered_vdi_entry, rb); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/rbtree.h:184:2: note: in expansion of macro 'rb_for_each_entry' 184 | rb_for_each_entry(__dummy, root, member) { \ | ^~~~~~~~~~~~~~~~~ farm/farm.c:583:2: note: in expansion of macro 'rb_destroy' 583 | rb_destroy(®istered_obj_tree, struct registered_obj_entry, rb); | ^~~~~~~~~~ In file included from ../include/fec.h:65, from ../include/internal_proto.h:25, from ../include/sheep.h:16, from ./dog.h:25, from farm/farm.h:16, from farm/slice.c:23: ../include/sheep.h: In function 'oid_to_first_vnode': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:149:26: note: in expansion of macro 'rb_entry' 149 | __data = rb_entry(__n, typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:163:25: note: in expansion of macro 'rb_entry' 163 | __ret = rb_entry(rb_first(root), typeof(*key), member); \ | ^~~~~~~~ ../include/sheep.h:64:9: note: in expansion of macro 'rb_nsearch' 64 | return rb_nsearch(root, &dummy, rb, vnode_cmp); | ^~~~~~~~~~ ../include/sheep.h: In function 'oid_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:77:10: note: in expansion of macro 'rb_entry' 77 | next = rb_entry(rb_next(&next->rb), struct sd_vnode, rb); | ^~~~~~~~ ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/sheep.h:79:11: note: in expansion of macro 'rb_entry' 79 | next = rb_entry(rb_first(root), struct sd_vnode, rb); | ^~~~~~~~ ../include/sheep.h: In function 'node_disk_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:237:17: note: in expansion of macro 'rb_insert' 237 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'disks_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:249:2: note: in expansion of macro 'rb_for_each_entry' 249 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'node_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/util.h:29:45: note: in definition of macro 'unlikely' 29 | #define unlikely(x) __builtin_expect(!!(x), 0) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:113:12: note: in expansion of macro 'rb_entry' 113 | __data = rb_entry(*__n, typeof(*new), member); \ | ^~~~~~~~ ../include/sheep.h:265:16: note: in expansion of macro 'rb_insert' 265 | if (unlikely(rb_insert(vroot, v, rb, vnode_cmp))) | ^~~~~~~~~ ../include/sheep.h: In function 'nodes_to_vnodes': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:275:2: note: in expansion of macro 'rb_for_each_entry' 275 | rb_for_each_entry(n, nroot, rb) | ^~~~~~~~~~~~~~~~~ ../include/sheep.h: In function 'nodes_to_buffer': ../include/util.h:27:2: warning: cast increases required alignment of target type [-Wcast-align] 27 | (type *)((char *)__mptr - offsetof(type, member)); }) | ^ ../include/rbtree.h:42:37: note: in expansion of macro 'container_of' 42 | #define rb_entry(ptr, type, member) container_of(ptr, type, member) | ^~~~~~~~~~~~ ../include/rbtree.h:177:15: note: in expansion of macro 'rb_entry' 177 | (pos = rb_entry(LOCAL(p), typeof(*pos), member), 1); \ | ^~~~~~~~ ../include/sheep.h:283:2: note: in expansion of macro 'rb_for_each_entry' 283 | rb_for_each_entry(n, nroot, rb) { | ^~~~~~~~~~~~~~~~~ /bin/sh ../libtool --tag=CC --mode=link gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z,relro -Wl,--as-needed -Wl,-z,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o dog farm/object_tree.o farm/sha1_file.o farm/snap.o farm/trunk.o farm/farm.o farm/slice.o dog.o common.o treeview.o vdi.o node.o cluster.o upgrade.o benchmark.o ../lib/libsd.a -lpthread -lrt libtool: link: gcc -O2 -g -pipe -Wall -Werror=format-security -Wp,-D_FORTIFY_SOURCE=2 -Wp,-D_GLIBCXX_ASSERTIONS -fexceptions -fstack-protector-strong -grecord-gcc-switches -specs=/usr/lib/rpm/redhat/redhat-hardened-cc1 -specs=/usr/lib/rpm/redhat/redhat-annobin-cc1 -fasynchronous-unwind-tables -fstack-clash-protection -DNDEBUG -ggdb3 -Wall -Wshadow -Wmissing-prototypes -Wmissing-declarations -Wstrict-prototypes -Wpointer-arith -Wwrite-strings -Wbad-function-cast -Wmissing-format-attribute -Wformat=2 -Wformat-security -Wformat-nonliteral -Wno-long-long -Wno-strict-aliasing -Wcast-align -D_GNU_SOURCE -D_LGPL_SOURCE -std=gnu99 -Wl,-z -Wl,relro -Wl,--as-needed -Wl,-z -Wl,now -specs=/usr/lib/rpm/redhat/redhat-hardened-ld -o dog farm/object_tree.o farm/sha1_file.o farm/snap.o farm/trunk.o farm/farm.o farm/slice.o dog.o common.o treeview.o vdi.o node.o cluster.o upgrade.o benchmark.o ../lib/libsd.a -lpthread -lrt /usr/bin/ld: farm/sha1_file.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: farm/sha1_file.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: farm/sha1_file.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: farm/snap.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: farm/snap.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: farm/snap.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: farm/trunk.o: in function `.LANCHOR1': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: farm/trunk.o: in function `.LANCHOR1': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: farm/trunk.o: in function `.LANCHOR1': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: farm/farm.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: farm/farm.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: farm/farm.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: farm/slice.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: farm/slice.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: farm/slice.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: common.o: in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: common.o: in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: common.o: in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: vdi.o: in function `.LANCHOR4': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: vdi.o: in function `.LANCHOR4': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: vdi.o: in function `.LANCHOR4': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: cluster.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: cluster.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: cluster.o: in function `.LANCHOR0': /builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here /usr/bin/ld: ../lib/libsd.a(sha1.o): in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/lib/../include/sha1.h:32: multiple definition of `sha1_final'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:32: first defined here /usr/bin/ld: ../lib/libsd.a(sha1.o): in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/lib/../include/sha1.h:31: multiple definition of `sha1_update'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:31: first defined here /usr/bin/ld: ../lib/libsd.a(sha1.o): in function `.LANCHOR2': /builddir/build/BUILD/sheepdog-1.0.1/lib/../include/sha1.h:30: multiple definition of `sha1_init'; farm/object_tree.o:/builddir/build/BUILD/sheepdog-1.0.1/dog/../include/sha1.h:30: first defined here collect2: error: ld returned 1 exit status make[1]: *** [Makefile:483: dog] Error 1 make[1]: Leaving directory '/builddir/build/BUILD/sheepdog-1.0.1/dog' make: *** [Makefile:495: all-recursive] Error 1 error: Bad exit status from /var/tmp/rpm-tmp.o5Rcao (%build) RPM build errors: Bad exit status from /var/tmp/rpm-tmp.o5Rcao (%build) Child return code was: 1 EXCEPTION: [Error()] Traceback (most recent call last): File "/usr/lib/python3.8/site-packages/mockbuild/trace_decorator.py", line 95, in trace result = func(*args, **kw) File "/usr/lib/python3.8/site-packages/mockbuild/util.py", line 746, in do_with_status raise exception.Error("Command failed: \n # %s\n%s" % (command, output), child.returncode) mockbuild.exception.Error: Command failed: # bash --login -c /usr/bin/rpmbuild -bb --target riscv64 --nodeps /builddir/build/SPECS/sheepdog.spec