Bug#995223: libffi: SIGILL on powerpc and ppc64 systems since libffi8

2021-09-28 Thread John Paul Adrian Glaubitz
Hello!

On 9/29/21 00:38, John Paul Adrian Glaubitz wrote:
> There is actually a baseline violation on i386 as "-march=amdfam10" is
> passed to the compiler, see the build log in [1], for example.

Comparing the build logs, it seems that this an issue with the newer version
of autoconf that was used to build version 3.4.2-2. Looking at the log for
3.4.2-2, a lot of autoconf warnings can be seen which are not present in the
log for 3.4.1-1.

> https://buildd.debian.org/status/fetch.php?pkg=libffi=powerpc=3.4.2-1=1626443428=0
> https://buildd.debian.org/status/fetch.php?pkg=libffi=powerpc=3.4.2-2=1632868252=0

So, upstream needs to fix compatibility issues with the newer autoconf version.

Adrian

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995223: libffi: SIGILL on powerpc and ppc64 systems since libffi8

2021-09-28 Thread John Paul Adrian Glaubitz
Hi!

On 9/28/21 22:40, John Paul Adrian Glaubitz wrote:
> We should therefore pass "--enable-portable-binary" in debian/rules.

There is actually a baseline violation on i386 as "-march=amdfam10" is
passed to the compiler, see the build log in [1], for example.

Adrian

> [1] 
> https://buildd.debian.org/status/fetch.php?pkg=libffi=i386=3.4.2-2=1632469242=0

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995223: libffi: SIGILL on powerpc and ppc64 systems since libffi8

2021-09-28 Thread John Paul Adrian Glaubitz
Control: severity -1 serious

Hello!

It turns out that m4/ax_gcc_archflag.m4 contains code to detect the
baseline of the host system and sets the GCC architecture accordingly.

Thus, a libffi compiled on a POWER8 machine will not work on a POWER5
machine as the compiler is emitting POWER8 instructions in this case.

Since the m4 script contains such a host enviroment detection for aarch64
as well [1], this bug can potentially affect arm64 which is a release
architecture.

We should therefore pass "--enable-portable-binary" in debian/rules.

Adrian

> [1] https://github.com/libffi/libffi/blob/master/m4/ax_gcc_archflag.m4#L209

-- 
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913



Bug#995223: libffi: SIGILL on powerpc and ppc64 systems since libffi8

2021-09-28 Thread John Paul Adrian Glaubitz
Source: libffi
Version: 3.3-6
Severity: important
User: debian-powe...@lists.debian.org
Usertags: powerpc ppc64
X-Debbugs-Cc: debian-powe...@lists.debian.org

Hi!

Multiple users on powerpc and ppc64 have reported SIGILL crashes
after upgrading to libffi8 (3.4.x):

# dmesg
...
[   16.257543] fail2ban-server[384]: illegal instruction (4) at
3fffb4283970 nip 3fffb4283970 lr 3fffb4282f90 code 1 in
libffi.so.8.1.0[3fffb427b000+c000]
...

Downgrading to libffi7 fixes the problem.

It has been reported that building and using the upstream version
does not reproduce this issue. But I have not yet independently
verified that. It might be that libffi performs a runtime detection
during build which causes the library to be built with a higher
baseline on the POWER8 buildds.

Adrian

--
 .''`.  John Paul Adrian Glaubitz
: :' :  Debian Developer - glaub...@debian.org
`. `'   Freie Universitaet Berlin - glaub...@physik.fu-berlin.de
  `-GPG: 62FF 8A75 84E0 2956 9546  0006 7426 3B37 F5B5 F913