Package: lzop
Version: 1.03-4+b1
Tags: ftbfs
Usertags: x32

Dear Maintainer,

lzop 1.04 was released on 10 Aug 2017:

Changes in 1.04 (10 Aug 2017)
  * Happy 20th anniversary release!
  * Added CMake build support.
  * Assorted minor updates.

One change concerns an operand type in acc_debug_align_check_query()
in miniaac.h, implicated in a FTBFS on x32:

gcc -DHAVE_CONFIG_H -I. -I..   -Wdate-time -D_FORTIFY_SOURCE=2
-DLZOP_HAVE_CONFIG_H  -g -O2 -fdebug-prefix-map=/«PKGBUILDDIR»=.
-specs=/usr/share/dpkg/pie-compile.specs -fstack-protector-strong
-Wformat -Werror=format-security -c util.c
gcc: note: pie specs /usr/share/dpkg/pie-compile.specs ignored when
pie is not enabled
miniacc.h: Assembler messages:
miniacc.h:6790: Error: operand type mismatch for `pop'
Makefile:302: recipe for target 'util.o' failed

This is unsurprising since the previous version was released 01 Nov
2010, prior to x32.

The code in question used size_t (which is 32 bits on x32) to contain
a register:

    size_t r;
    __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) : : __ACC_ASM_CLOBBER);

but now appears to use uint64 (x32 is __x86_64__ || __ILP32__ ):

# if (ACC_ARCH_AMD64)
    acc_uint64e_t r = 0;
# else
    size_t r = 0;
# endif
    __asm__ __volatile__("pushf\n pop %0\n" : "=a" (r) :

Best regards,
Laurence "GreenReaper" Parry

Reply via email to