Hi Hongtao,

This was due to a bug in our bisection scripts.  I've disabled notifications to 
patch authors and linaro-toolchain@ while I'm testing the fix.

Sorry for the noise.

--
Maxim Kuvyrkov
https://www.linaro.org




> On Jul 12, 2021, at 10:25 AM, Liu, Hongtao <hongtao....@intel.com> wrote:
> 
> 
> 
>> -----Original Message-----
>> From: ci_not...@linaro.org <ci_not...@linaro.org>
>> Sent: Sunday, July 11, 2021 9:59 PM
>> To: tcwg-validat...@linaro.org; Liu, Hongtao <hongtao....@intel.com>; linaro-
>> toolch...@lists.linaro.org
>> Subject: [CI-NOTIFY]: TCWG Bisect tcwg_cross/gnu-master-aarch64-
>> build_cross - Build # 35 - Successful!
>> 
>> Successfully identified regression in *glibc* in CI configuration
>> tcwg_cross/gnu-master-aarch64-build_cross.  So far, this commit has
>> regressed CI configurations:
>> - tcwg_cross/gnu-master-aarch64-build_cross
>> 
>> Culprit:
>> <cut>
>> commit 6ec6c77867af4ddfec7323e0ac6ede89effca852
>> Author: liuhongt <hongtao....@intel.com>
>> Date:   Wed Jul 7 10:07:59 2021 +0800
>> 
>>   soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
>> __eqhf2/__nehf2
>> 
>>   1. Add __extendhfdf2/__extendhfsf2 to return an IEEE half converted to
>> IEEE double/single.
>>   2. Add __truncdfhf2/__extendsfhf2 to truncate IEEE double/single into IEEE
>> half.
>>   3. Add __eqhf2/__nehf2 to return 0 if a == b and a,b are not NAN,
>> otherwise return 1.
>> 
>>   These are needed by x86 _Float16:
>> 
>>   https://software.intel.com/content/www/us/en/develop/download/intel-
>> avx512-fp16-architecture-specification.html
>> 
>>   support in GCC.
>> </cut>
>> 
>> Results regressed to (for first_bad ==
>> 6ec6c77867af4ddfec7323e0ac6ede89effca852)
>> # reset_artifacts:
>> -10
>> # true:
>> 0
>> # build_abe binutils:
>> 1
>> # build_abe stage1:
>> 2
>> # build_abe linux:
>> 3
>> # First few build errors in logs:
>> # 00:00:14 make[2]: *** [/home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/start.o] Error 1 # 00:00:14 make[2]: ***
>> [/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>> gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:499: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/start.os] Error 1 # 00:00:14 make[2]: 
>> ***
>> [/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>> gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/crtn.o] Error 1 # 00:00:14 make[2]: ***
>> [/home/tcwg-buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-
>> gnu/aarch64-linux-gnu/glibc-glibc.git~master/sysd-rules:483: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/crti.o] Error 1 # 00:00:14 make[2]: ***
>> [../o-iterator.mk:9: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/check_fds.o] Error 1 # 00:00:14 make[2]:
>> *** [../o-iterator.mk:9: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/check_fds.os] Error 1 #
>> 00:00:14 ../sysdeps/aarch64/nptl/tls.h:91:19: error: 
>> ‘__builtin_thread_pointer’
>> is not supported on this target # 00:00:14 make[2]: *** [/home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/sysd-rules:485: /home/tcwg-
>> buildslave/workspace/tcwg_gnu_0/abe/builds/x86_64-pc-linux-gnu/aarch64-
>> linux-gnu/glibc-glibc.git~master/csu/libc-tls.o] Error 1 #
>> 00:00:14 ../sysdeps/unix/sysv/linux/aarch64/sysdep.h:190:17: error: invalid
>> register name for ‘_x0’
>> # 00:00:14 ../sysdeps/unix/sysv/linux/aarch64/sysdep.h:174:22: error: invalid
>> register name for ‘_x8’
> I'm not sure why adding hf soft-fp resulted in such error, anyone can help 
> look into it?
>> 
>> from (for last_good == b46cfcef3f7dab8e90729c6616ac1420f2642245)
>> # reset_artifacts:
>> -10
>> # true:
>> 0
>> # build_abe binutils:
>> 1
>> # build_abe stage1:
>> 2
>> # build_abe linux:
>> 3
>> # build_abe glibc:
>> 4
>> # build_abe stage2:
>> 5
>> # build_abe qemu:
>> 6
>> 
>> Artifacts of last_good build: 
>> https://ci.linaro.org/job/tcwg_cross-bisect-gnu-
>> master-aarch64-build_cross/35/artifact/artifacts/build-
>> b46cfcef3f7dab8e90729c6616ac1420f2642245/
>> Artifacts of first_bad build: 
>> https://ci.linaro.org/job/tcwg_cross-bisect-gnu-
>> master-aarch64-build_cross/35/artifact/artifacts/build-
>> 6ec6c77867af4ddfec7323e0ac6ede89effca852/
>> Build top page/logs: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-
>> aarch64-build_cross/35/
>> 
>> Configuration details:
>> 
>> 
>> Reproduce builds:
>> <cut>
>> mkdir investigate-glibc-6ec6c77867af4ddfec7323e0ac6ede89effca852
>> cd investigate-glibc-6ec6c77867af4ddfec7323e0ac6ede89effca852
>> 
>> git clone https://git.linaro.org/toolchain/jenkins-scripts
>> 
>> mkdir -p artifacts/manifests
>> curl -o artifacts/manifests/build-baseline.sh
>> https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>> build_cross/35/artifact/artifacts/manifests/build-baseline.sh --fail curl -o
>> artifacts/manifests/build-parameters.sh https://ci.linaro.org/job/tcwg_cross-
>> bisect-gnu-master-aarch64-build_cross/35/artifact/artifacts/manifests/build-
>> parameters.sh --fail curl -o artifacts/test.sh
>> https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>> build_cross/35/artifact/artifacts/test.sh --fail chmod +x artifacts/test.sh
>> 
>> # Reproduce the baseline build (build all pre-requisites) ./jenkins-
>> scripts/tcwg_gnu-build.sh @@ artifacts/manifests/build-baseline.sh
>> 
>> cd glibc
>> 
>> # Reproduce first_bad build
>> git checkout --detach 6ec6c77867af4ddfec7323e0ac6ede89effca852
>> ../artifacts/test.sh
>> 
>> # Reproduce last_good build
>> git checkout --detach b46cfcef3f7dab8e90729c6616ac1420f2642245
>> ../artifacts/test.sh
>> 
>> cd ..
>> </cut>
>> 
>> History of pending regressions and results:
>> https://git.linaro.org/toolchain/ci/base-artifacts.git/log/?h=linaro-
>> local/ci/tcwg_cross/gnu-master-aarch64-build_cross
>> 
>> Artifacts: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>> build_cross/35/artifact/artifacts/
>> Build log: https://ci.linaro.org/job/tcwg_cross-bisect-gnu-master-aarch64-
>> build_cross/35/consoleText
>> 
>> Full commit (up to 1000 lines):
>> <cut>
>> commit 6ec6c77867af4ddfec7323e0ac6ede89effca852
>> Author: liuhongt <hongtao....@intel.com>
>> Date:   Wed Jul 7 10:07:59 2021 +0800
>> 
>>   soft-fp: Add __extendhfsf2/__extendhfdf2, __truncsfhf2/__truncdfhf2,
>> __eqhf2/__nehf2
>> 
>>   1. Add __extendhfdf2/__extendhfsf2 to return an IEEE half converted to
>> IEEE double/single.
>>   2. Add __truncdfhf2/__extendsfhf2 to truncate IEEE double/single into IEEE
>> half.
>>   3. Add __eqhf2/__nehf2 to return 0 if a == b and a,b are not NAN,
>> otherwise return 1.
>> 
>>   These are needed by x86 _Float16:
>> 
>>   https://software.intel.com/content/www/us/en/develop/download/intel-
>> avx512-fp16-architecture-specification.html
>> 
>>   support in GCC.
>> ---
>> soft-fp/eqhf2.c       | 49
>> +++++++++++++++++++++++++++++++++++++++++++++++
>> soft-fp/extendhfdf2.c | 53
>> +++++++++++++++++++++++++++++++++++++++++++++++++++
>> soft-fp/extendhfsf2.c | 49
>> +++++++++++++++++++++++++++++++++++++++++++++++
>> soft-fp/half.h        |  2 ++
>> soft-fp/truncdfhf2.c  | 52
>> ++++++++++++++++++++++++++++++++++++++++++++++++++
>> soft-fp/truncsfhf2.c  | 48
>> ++++++++++++++++++++++++++++++++++++++++++++++
>> 6 files changed, 253 insertions(+)
>> 
>> diff --git a/soft-fp/eqhf2.c b/soft-fp/eqhf2.c new file mode 100644 index
>> 0000000000..6d6634e5c5
>> --- /dev/null
>> +++ b/soft-fp/eqhf2.c
>> @@ -0,0 +1,49 @@
>> +/* Software floating-point emulation.
>> +   Return 0 iff a == b, 1 otherwise
>> +   Copyright (C) 2021 Free Software Foundation, Inc.
>> +   This file is part of the GNU C Library.
>> +
>> +   The GNU C Library is free software; you can redistribute it and/or
>> +   modify it under the terms of the GNU Lesser General Public
>> +   License as published by the Free Software Foundation; either
>> +   version 2.1 of the License, or (at your option) any later version.
>> +
>> +   In addition to the permissions in the GNU Lesser General Public
>> +   License, the Free Software Foundation gives you unlimited
>> +   permission to link the compiled version of this file into
>> +   combinations with other programs, and to distribute those
>> +   combinations without any restriction coming from the use of this
>> +   file.  (The Lesser General Public License restrictions do apply in
>> +   other respects; for example, they cover modification of the file,
>> +   and distribution when not linked into a combine executable.)
>> +
>> +   The GNU C Library is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +   Lesser General Public License for more details.
>> +
>> +   You should have received a copy of the GNU Lesser General Public
>> +   License along with the GNU C Library; if not, see
>> +   <http://www.gnu.org/licenses/>.  */
>> +
>> +#include "soft-fp.h"
>> +#include "half.h"
>> +
>> +CMPtype
>> +__eqhf2 (HFtype a, HFtype b)
>> +{
>> +  FP_DECL_EX;
>> +  FP_DECL_H (A);
>> +  FP_DECL_H (B);
>> +  CMPtype r;
>> +
>> +  FP_INIT_EXCEPTIONS;
>> +  FP_UNPACK_RAW_H (A, a);
>> +  FP_UNPACK_RAW_H (B, b);
>> +  FP_CMP_EQ_H (r, A, B, 1);
>> +  FP_HANDLE_EXCEPTIONS;
>> +
>> +  return r;
>> +}
>> +
>> +strong_alias (__eqhf2, __nehf2);
>> diff --git a/soft-fp/extendhfdf2.c b/soft-fp/extendhfdf2.c new file mode
>> 100644 index 0000000000..337ba791d4
>> --- /dev/null
>> +++ b/soft-fp/extendhfdf2.c
>> @@ -0,0 +1,53 @@
>> +/* Software floating-point emulation.
>> +   Return an IEEE half converted to IEEE double
>> +   Copyright (C) 2021 Free Software Foundation, Inc.
>> +   This file is part of the GNU C Library.
>> +
>> +   The GNU C Library is free software; you can redistribute it and/or
>> +   modify it under the terms of the GNU Lesser General Public
>> +   License as published by the Free Software Foundation; either
>> +   version 2.1 of the License, or (at your option) any later version.
>> +
>> +   In addition to the permissions in the GNU Lesser General Public
>> +   License, the Free Software Foundation gives you unlimited
>> +   permission to link the compiled version of this file into
>> +   combinations with other programs, and to distribute those
>> +   combinations without any restriction coming from the use of this
>> +   file.  (The Lesser General Public License restrictions do apply in
>> +   other respects; for example, they cover modification of the file,
>> +   and distribution when not linked into a combine executable.)
>> +
>> +   The GNU C Library is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +   Lesser General Public License for more details.
>> +
>> +   You should have received a copy of the GNU Lesser General Public
>> +   License along with the GNU C Library; if not, see
>> +   <http://www.gnu.org/licenses/>.  */
>> +
>> +#define FP_NO_EXACT_UNDERFLOW
>> +#include "soft-fp.h"
>> +#include "half.h"
>> +#include "double.h"
>> +
>> +DFtype
>> +__extendhfdf2 (HFtype a)
>> +{
>> +  FP_DECL_EX;
>> +  FP_DECL_H (A);
>> +  FP_DECL_D (R);
>> +  DFtype r;
>> +
>> +  FP_INIT_EXCEPTIONS;
>> +  FP_UNPACK_RAW_H (A, a);
>> +#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
>> +  FP_EXTEND (D, H, 2, 1, R, A);
>> +#else
>> +  FP_EXTEND (D, H, 1, 1, R, A);
>> +#endif
>> +  FP_PACK_RAW_D (r, R);
>> +  FP_HANDLE_EXCEPTIONS;
>> +
>> +  return r;
>> +}
>> diff --git a/soft-fp/extendhfsf2.c b/soft-fp/extendhfsf2.c new file mode
>> 100644 index 0000000000..a02f46d9a9
>> --- /dev/null
>> +++ b/soft-fp/extendhfsf2.c
>> @@ -0,0 +1,49 @@
>> +/* Software floating-point emulation.
>> +   Return an IEEE half converted to IEEE single
>> +   Copyright (C) 2021 Free Software Foundation, Inc.
>> +   This file is part of the GNU C Library.
>> +
>> +   The GNU C Library is free software; you can redistribute it and/or
>> +   modify it under the terms of the GNU Lesser General Public
>> +   License as published by the Free Software Foundation; either
>> +   version 2.1 of the License, or (at your option) any later version.
>> +
>> +   In addition to the permissions in the GNU Lesser General Public
>> +   License, the Free Software Foundation gives you unlimited
>> +   permission to link the compiled version of this file into
>> +   combinations with other programs, and to distribute those
>> +   combinations without any restriction coming from the use of this
>> +   file.  (The Lesser General Public License restrictions do apply in
>> +   other respects; for example, they cover modification of the file,
>> +   and distribution when not linked into a combine executable.)
>> +
>> +   The GNU C Library is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +   Lesser General Public License for more details.
>> +
>> +   You should have received a copy of the GNU Lesser General Public
>> +   License along with the GNU C Library; if not, see
>> +   <http://www.gnu.org/licenses/>.  */
>> +
>> +#define FP_NO_EXACT_UNDERFLOW
>> +#include "soft-fp.h"
>> +#include "half.h"
>> +#include "single.h"
>> +
>> +SFtype
>> +__extendhfsf2 (HFtype a)
>> +{
>> +  FP_DECL_EX;
>> +  FP_DECL_H (A);
>> +  FP_DECL_S (R);
>> +  SFtype r;
>> +
>> +  FP_INIT_EXCEPTIONS;
>> +  FP_UNPACK_RAW_H (A, a);
>> +  FP_EXTEND (S, H, 1, 1, R, A);
>> +  FP_PACK_RAW_S (r, R);
>> +  FP_HANDLE_EXCEPTIONS;
>> +
>> +  return r;
>> +}
>> diff --git a/soft-fp/half.h b/soft-fp/half.h index ca2c1fad03..70af2712fc 
>> 100644
>> --- a/soft-fp/half.h
>> +++ b/soft-fp/half.h
>> @@ -167,4 +167,6 @@ union _FP_UNION_H
>> #define _FP_FRAC_HIGH_RAW_H(X)       _FP_FRAC_HIGH_1 (X)
>> #define _FP_FRAC_HIGH_DW_H(X)        _FP_FRAC_HIGH_1 (X)
>> 
>> +#define FP_CMP_EQ_H(r, X, Y, ex)       _FP_CMP_EQ (H, 1, (r), X, Y, (ex))
>> +
>> #endif /* !SOFT_FP_HALF_H */
>> diff --git a/soft-fp/truncdfhf2.c b/soft-fp/truncdfhf2.c new file mode 100644
>> index 0000000000..8bcb278769
>> --- /dev/null
>> +++ b/soft-fp/truncdfhf2.c
>> @@ -0,0 +1,52 @@
>> +/* Software floating-point emulation.
>> +   Truncate IEEE double into IEEE half.
>> +   Copyright (C) 2021 Free Software Foundation, Inc.
>> +   This file is part of the GNU C Library.
>> +
>> +   The GNU C Library is free software; you can redistribute it and/or
>> +   modify it under the terms of the GNU Lesser General Public
>> +   License as published by the Free Software Foundation; either
>> +   version 2.1 of the License, or (at your option) any later version.
>> +
>> +   In addition to the permissions in the GNU Lesser General Public
>> +   License, the Free Software Foundation gives you unlimited
>> +   permission to link the compiled version of this file into
>> +   combinations with other programs, and to distribute those
>> +   combinations without any restriction coming from the use of this
>> +   file.  (The Lesser General Public License restrictions do apply in
>> +   other respects; for example, they cover modification of the file,
>> +   and distribution when not linked into a combine executable.)
>> +
>> +   The GNU C Library is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +   Lesser General Public License for more details.
>> +
>> +   You should have received a copy of the GNU Lesser General Public
>> +   License along with the GNU C Library; if not, see
>> +   <http://www.gnu.org/licenses/>.  */
>> +
>> +#include "soft-fp.h"
>> +#include "half.h"
>> +#include "double.h"
>> +
>> +HFtype
>> +__truncdfhf2 (DFtype a)
>> +{
>> +  FP_DECL_EX;
>> +  FP_DECL_D (A);
>> +  FP_DECL_H (R);
>> +  HFtype r;
>> +
>> +  FP_INIT_ROUNDMODE;
>> +  FP_UNPACK_SEMIRAW_D (A, a);
>> +#if _FP_W_TYPE_SIZE < _FP_FRACBITS_D
>> +  FP_TRUNC (H, D, 1, 2, R, A);
>> +#else
>> +  FP_TRUNC (H, D, 1, 1, R, A);
>> +#endif
>> +  FP_PACK_SEMIRAW_H (r, R);
>> +  FP_HANDLE_EXCEPTIONS;
>> +
>> +  return r;
>> +}
>> diff --git a/soft-fp/truncsfhf2.c b/soft-fp/truncsfhf2.c new file mode 100644
>> index 0000000000..25bee29f7f
>> --- /dev/null
>> +++ b/soft-fp/truncsfhf2.c
>> @@ -0,0 +1,48 @@
>> +/* Software floating-point emulation.
>> +   Truncate IEEE single into IEEE half.
>> +   Copyright (C) 2021 Free Software Foundation, Inc.
>> +   This file is part of the GNU C Library.
>> +
>> +   The GNU C Library is free software; you can redistribute it and/or
>> +   modify it under the terms of the GNU Lesser General Public
>> +   License as published by the Free Software Foundation; either
>> +   version 2.1 of the License, or (at your option) any later version.
>> +
>> +   In addition to the permissions in the GNU Lesser General Public
>> +   License, the Free Software Foundation gives you unlimited
>> +   permission to link the compiled version of this file into
>> +   combinations with other programs, and to distribute those
>> +   combinations without any restriction coming from the use of this
>> +   file.  (The Lesser General Public License restrictions do apply in
>> +   other respects; for example, they cover modification of the file,
>> +   and distribution when not linked into a combine executable.)
>> +
>> +   The GNU C Library is distributed in the hope that it will be useful,
>> +   but WITHOUT ANY WARRANTY; without even the implied warranty of
>> +   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
>> +   Lesser General Public License for more details.
>> +
>> +   You should have received a copy of the GNU Lesser General Public
>> +   License along with the GNU C Library; if not, see
>> +   <http://www.gnu.org/licenses/>.  */
>> +
>> +#include "soft-fp.h"
>> +#include "half.h"
>> +#include "single.h"
>> +
>> +HFtype
>> +__truncsfhf2 (SFtype a)
>> +{
>> +  FP_DECL_EX;
>> +  FP_DECL_S (A);
>> +  FP_DECL_H (R);
>> +  HFtype r;
>> +
>> +  FP_INIT_ROUNDMODE;
>> +  FP_UNPACK_SEMIRAW_S (A, a);
>> +  FP_TRUNC (H, S, 1, 1, R, A);
>> +  FP_PACK_SEMIRAW_H (r, R);
>> +  FP_HANDLE_EXCEPTIONS;
>> +
>> +  return r;
>> +}
>> </cut>
> _______________________________________________
> linaro-toolchain mailing list
> linaro-toolchain@lists.linaro.org
> https://lists.linaro.org/mailman/listinfo/linaro-toolchain

_______________________________________________
linaro-toolchain mailing list
linaro-toolchain@lists.linaro.org
https://lists.linaro.org/mailman/listinfo/linaro-toolchain

Reply via email to