Re: Buster / GCC 7.4 Problem

2018-12-18 Thread Matthias Klose
On 18.12.18 16:39, Hagen Paul Pfeifer wrote:
> Hallo,
> 
> since December 7.3 to 7.4 switch I am not able to compile Yocto anymore:
> 
>> | make[3]: Entering directory 
> '/home/pfeifer/git/p/p-core/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/build/lib'
>
>   > | gcc   -I. -I../../m4-1.4.18/lib   
> -isystem/home/pfeifer/git/p/p-core/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recip
> e-sysroot-native/usr/include  
> -isystem/home/pfeifer/git/p/p-core/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-
> native/usr/include -O2 -pipe -c -o freadahead.o 
> ../../m4-1.4.18/lib/freadahead.c  
>
>   > | gcc   -I. -I../../m4-1.4.18/lib   
> -isystem/home/pfeifer/git/p/p-core/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recip
> e-sysroot-native/usr/include  
> -isystem/home/pfeifer/git/p/p-core/build/tmp/work/x86_64-linux/m4-native/1.4.18-r0/recipe-sysroot-
> native/usr/include -O2 -pipe -c -o fseeko.o ../../m4-1.4.18/lib/fseeko.c  
> 
>   > | ../../m4-1.4.18/lib/freadahead.c: In function ‘freadahead’: 
>  
>   > | ../../m4-1.4.18/lib/freadahead.c:92:3: error: #error "Please port 
> gnulib freadahead.c to your platform! Look at the definition of fflush
> , fread, ungetc on your system, then report this to bug-gnulib."  
>
>   > |   #error "Please port gnulib freadahead.c to your platform! Look at the 
> definition of fflush, fread, ungetc on your system, then report
> this to bug-gnulib."  
>
>   > |^
>
>   > | ../../m4-1.4.18/lib/fseeko.c: In function ‘rpl_fseeko’: 
>  
>   > | ../../m4-1.4.18/lib/fseeko.c:110:4: error: #error "Please port gnulib 
> fseeko.c to your platform! Look at the code in fseeko.c, then repo
> rt this to bug-gnulib."   
>   
>   > |#error "Please port gnulib fseeko.c to your platform! Look at the 
> code in fseeko.c, then report this to bug-gnulib."
>   > | ^
>   > | make[3]: *** [Makefile:1915: freadahead.o] Error 1
> 
> 
> This happens in stage1 cross compiling step during m4 compiling. Any ideas?

this is unrelated to GCC, but happens with glibc 2.28.



[Git][glibc-team/glibc][sid] patches/hurd-i386/git-fcntl64.diff: Fix 64bit implementation.

2018-12-18 Thread Samuel Thibault
Samuel Thibault pushed to branch sid at GNU Libc Maintainers / glibc


Commits:
f46946a3 by Samuel Thibault at 2018-12-19T01:15:12Z
patches/hurd-i386/git-fcntl64.diff: Fix 64bit implementation.

- - - - -


1 changed file:

- debian/changelog


View it on GitLab: 
https://salsa.debian.org/glibc-team/glibc/commit/f46946a3c5a4766469ba38a87eba3e21959901f3

-- 
View it on GitLab: 
https://salsa.debian.org/glibc-team/glibc/commit/f46946a3c5a4766469ba38a87eba3e21959901f3
You're receiving this email because of your account on salsa.debian.org.


Bug#916779: libc6-armhf-cross: strerror(-3) sets errno to ENOMEM

2018-12-18 Thread Aurelien Jarno
On 2018-12-18 22:11, Aurelien Jarno wrote:
> On 2018-12-18 21:34, Aurelien Jarno wrote:
> > Hi,
> > 
> > On 2018-12-18 15:15, Tim Ruehsen wrote:
> > > Package: libc6-armhf-cross
> > > Version: 2.28-2cross2
> > > Severity: normal
> > > 
> > > Dear Maintainer,
> > > 
> > > currently strerror(-3) sets errno unexpectedly to ENOMEM (12).
> > > 
> > > The expected errno value would be either EINVAL or not touching errno
> > > at all.
> > > 
> > > This behavior is relatively new and causes some CI cross builds to fail.
> > > The failing test is a gnulib test (test-strerror.c).
> > > 
> > 
> > I can reproduce the issue with libc6-armhf-cross 2.28-2cross2 and
> > qemu-arm-static 1:3.1+dfsg-1, but not with the same binary on real
> > hardware nor on qemu-user-static 1:2.12+dfsg-3+b1. I would therefore
> > think it's a qemu bug.
> 
> Hmm, I am wrong, I can actually reproduce it with qemu-user-static
> version 1:2.12+dfsg-3+b1. But I can't reproduce it on real hardware.

It seems to have been caused by this upstream patch:

| commit 1294b1892e19d70e9e4dca0a2f3e39497f262a42
| Author: Wilco Dijkstra 
| Date:   Thu Mar 15 17:57:03 2018 +
| 
| Add support for sqrt asm redirects
| 
| This patch series cleans up the many uses of  __ieee754_sqrt(f/l) in 
GLIBC.
| The goal is to enable GCC to do the inlining, and if this fails call the
| __ieee754_sqrt function.  This is done by internally declaring sqrt with 
asm
| redirects.  The compat symbols and sqrt wrappers need to disable the 
redirect.
| The redirect is also disabled if there are already redirects defined when
| using -ffinite-math-only.
| 
| All math functions (but not math tests, non-library code and libnldbl) are
| built with -fno-math-errno which means GCC will typically inline sqrt as a
| single instruction.  This means targets are no longer forced to add a 
special
| inline for sqrt.
| 
| * include/math.h (sqrt): Declare with asm redirect.
| (sqrtf): Likewise.
| (sqrtl): Likewise.
| (sqrtf128): Likewise.
| * Makeconfig: Add -fno-math-errno for libc/libm, but build 
testsuite,
| nonlib and libnldbl with -fmath-errno.
| * math/w_sqrt_compat.c: Define NO_MATH_REDIRECT.
| * math/w_sqrt_template.c: Likewise.
| * math/w_sqrtf_compat.c: Likewise.
| * math/w_sqrtl_compat.c: Likewise.
| * sysdeps/i386/fpu/w_sqrt.c: Likewise.
| * sysdeps/i386/fpu/w_sqrt_compat.c: Likewise.
| * sysdeps/generic/math-type-macros-float128.h: Remove math.h and
| complex.h.

And more precisely by building libc with -fno-math-errno.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#916779: libc6-armhf-cross: strerror(-3) sets errno to ENOMEM

2018-12-18 Thread Aurelien Jarno
On 2018-12-18 21:34, Aurelien Jarno wrote:
> Hi,
> 
> On 2018-12-18 15:15, Tim Ruehsen wrote:
> > Package: libc6-armhf-cross
> > Version: 2.28-2cross2
> > Severity: normal
> > 
> > Dear Maintainer,
> > 
> > currently strerror(-3) sets errno unexpectedly to ENOMEM (12).
> > 
> > The expected errno value would be either EINVAL or not touching errno
> > at all.
> > 
> > This behavior is relatively new and causes some CI cross builds to fail.
> > The failing test is a gnulib test (test-strerror.c).
> > 
> 
> I can reproduce the issue with libc6-armhf-cross 2.28-2cross2 and
> qemu-arm-static 1:3.1+dfsg-1, but not with the same binary on real
> hardware nor on qemu-user-static 1:2.12+dfsg-3+b1. I would therefore
> think it's a qemu bug.

Hmm, I am wrong, I can actually reproduce it with qemu-user-static
version 1:2.12+dfsg-3+b1. But I can't reproduce it on real hardware.

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



Bug#916779: libc6-armhf-cross: strerror(-3) sets errno to ENOMEM

2018-12-18 Thread Aurelien Jarno
Hi,

On 2018-12-18 15:15, Tim Ruehsen wrote:
> Package: libc6-armhf-cross
> Version: 2.28-2cross2
> Severity: normal
> 
> Dear Maintainer,
> 
> currently strerror(-3) sets errno unexpectedly to ENOMEM (12).
> 
> The expected errno value would be either EINVAL or not touching errno
> at all.
> 
> This behavior is relatively new and causes some CI cross builds to fail.
> The failing test is a gnulib test (test-strerror.c).
> 

I can reproduce the issue with libc6-armhf-cross 2.28-2cross2 and
qemu-arm-static 1:3.1+dfsg-1, but not with the same binary on real
hardware nor on qemu-user-static 1:2.12+dfsg-3+b1. I would therefore
think it's a qemu bug.

Do you have some other tests showing it's linked to the new upstream
glibc version?

Aurelien

-- 
Aurelien Jarno  GPG: 4096R/1DDD8C9B
aurel...@aurel32.net http://www.aurel32.net



[Git][glibc-team/glibc][sid] debian/testsuite-xfail-debian.mk: whitelist failing new tests on hurd

2018-12-18 Thread Samuel Thibault
Samuel Thibault pushed to branch sid at GNU Libc Maintainers / glibc


Commits:
beb19d98 by Samuel Thibault at 2018-12-18T18:58:22Z
debian/testsuite-xfail-debian.mk: whitelist failing new tests on hurd

- - - - -


2 changed files:

- debian/changelog
- debian/testsuite-xfail-debian.mk


View it on GitLab: 
https://salsa.debian.org/glibc-team/glibc/commit/beb19d98cd071f4c477c64e36597014da2457896

-- 
View it on GitLab: 
https://salsa.debian.org/glibc-team/glibc/commit/beb19d98cd071f4c477c64e36597014da2457896
You're receiving this email because of your account on salsa.debian.org.


Bug#916779: libc6-armhf-cross: strerror(-3) sets errno to ENOMEM

2018-12-18 Thread Tim Ruehsen
Package: libc6-armhf-cross
Version: 2.28-2cross2
Severity: normal

Dear Maintainer,

currently strerror(-3) sets errno unexpectedly to ENOMEM (12).

The expected errno value would be either EINVAL or not touching errno
at all.

This behavior is relatively new and causes some CI cross builds to fail.
The failing test is a gnulib test (test-strerror.c).

The behavior is not seen on an i368 cross build, while on all our other cross 
builds,
which are arm-linux-gnueabihf, mips-linux-gnu, aarch64-linux-gnu.

Here is a small reproducer:
include 
#include 
#include 

int main(void)
{
errno=0;
char *msg=strerror(-3);
printf("errno=%d, msg=%s\n",errno,msg);

return 0;
}

Test it with:
$ arm-linux-gnueabihf-gcc -Wextra x.c -o x
$ ./x
errno=12, msg=Unknown error -3

You need the binfmt/qemu stuff set up to execute the cross-compiled binary.

Regards, Tim

-- System Information:
Debian Release: buster/sid
  APT prefers unstable
  APT policy: (500, 'unstable'), (1, 'experimental')
Architecture: amd64 (x86_64)
Foreign Architectures: i386

Kernel: Linux 4.18.0-3-amd64 (SMP w/12 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL 
set to en_US.UTF-8), LANGUAGE=en_US.UTF-8 (charmap=UTF-8) (ignored: LC_ALL set 
to en_US.UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled