27.12.2016 18:10, Paul Menzel пишет: > Dear GRUB folks, > > > Using Clang 4.0 the build fails with the error below. > > ``` > $ sudo apt install clang-4.0 # Debian Sid/unstable > $ clang-4.0 --version > clang version 4.0.0-svn286225-1 (trunk) > Target: i686-pc-linux-gnu > Thread model: posix > InstalledDir: /usr/bin > $ git log --oneline -1 > ce95549cc efi: properly terminate filepath with NULL in chainloader > $ ./autoconf.sh > $ CC=clang-4.0 ../grub/configure --with-platform=coreboot --enable-boot-time > $ make -j > […] > ../grub/grub-core/fs/hfs.c:699:10: error: taking address of packed member > 'catalog_recs' of class or structure 'grub_hfs_sblock' may result in an > unaligned pointer > value [-Werror,-Waddress-of-packed-member] > ? (&data->sblock.catalog_recs) > ^~~~~~~~~~~~~~~~~~~~~~~~~ > ../grub/grub-core/fs/hfs.c:700:10: error: taking address of packed member > 'extent_recs' of class or structure 'grub_hfs_sblock' may result in an > unaligned pointer > value [-Werror,-Waddress-of-packed-member] > : (&data->sblock.extent_recs)); > ^~~~~~~~~~~~~~~~~~~~~~~~ > […] > ``` > > The build succeeds using gcc (Debian 6.2.1-7) 6.2.1 20161215, so I am > unsure if this is a Clang issue. >
I remember having seen it with LLVM/clang development snapshot before but got distracted. But currently I cannot reproduce it using LLVM/clang git as of yesterday, even if I explicitly add -Waddress-of-packed-member to compile options. May be I miss some steps. Regarding issue itself - we should not have alignment problem here, at least on known platforms. Structure elements are properly aligned inside of structure and structure itself is at the beginning of malloc returned memory. I was about to change prototype to (void *) then as I mentioned forgot about it (or, better, issue did not happen in released clang so I did not want to add workarounds for development snapshot). It would be helpful if you could check when issue disappeared (if it did). Unfortunately, full LLVM/clang build takes half a day on my system and tears HDD apart :(
signature.asc
Description: OpenPGP digital signature
_______________________________________________ Grub-devel mailing list [email protected] https://lists.gnu.org/mailman/listinfo/grub-devel
