Package: ipxe
Version: 1.0.0+git-20131111.c3d1e78-2
Usertags: goto-cc

During a rebuild of all Debian packages in a clean sid chroot (using cowbuilder
and pbuilder) the build failed with the following error. Please note that we
use our research compiler tool-chain (using tools from the cbmc package), which
permits extended reporting on type inconsistencies at link time.

[...]
gcc  -Wall -W -Wformat-nonliteral -O2 -g -I/usr/include -I/usr/include 
-I/usr/include -idirafter include -DEFI_TARGET_X64 util/elf2efi.c \
  -L/usr/lib -L/usr/lib -L/usr/lib -lbfd -ldl -lz -Wl,--no-warn-search-mismatch 
-o util/elf2efi64

file include/ipxe/efi/efi.h line 24 function FILE_LICENCE: syntax error before 
`;'
PARSING ERROR
Makefile.housekeeping:1191: recipe for target 'util/elf2efi64' failed
make[2]: *** [util/elf2efi64] Error 64
make[2]: Leaving directory 
'/srv/jenkins-slave/workspace/sid-goto-cc-ipxe/ipxe-1.0.0+git-20131111.c3d1e78/src'
debian/rules:16: recipe for target 'src/bin-x86_64-efi/82540em.efirom' failed
make[1]: *** [src/bin-x86_64-efi/82540em.efirom] Error 2

Note that GCC for historic reasons compiles said code without an error as it
will take code like

FILE_LICENCE ( GPL2_OR_LATER );

as declaring a function with return type int and a single int-typed parameter.
Yet this doesn't seem to match the authors' intent as the compiled code will not
have the desired symbols, which are constructed using the macros of compiler.h.

Other source files thus have -include include/compiler.h as part of the compiler
command line, but this appears to be missing from the above command.

Best,
Michael

Attachment: pgp3Ly_Re80Sx.pgp
Description: PGP signature

Reply via email to