[OE-core] [PATCH] binutils: Upgrade to 2.31 release branch
Robert Yang
liezhi.yang at windriver.com
Tue Aug 7 08:28:27 UTC 2018
Hi Khem,
The new binutils may cause build failures with kernel 4.18 (linux-yocto-dev),
arch/x86/Makefile:184: *** Compiler lacks asm-goto support.. Stop.
The line for checking asm goto is in kernel's top Makefile:
# check for 'asm goto'
ifeq ($(shell $(CONFIG_SHELL) $(srctree)/scripts/gcc-goto.sh $(CC)
$(KBUILD_CFLAGS)), y)
CC_HAVE_ASM_GOTO := 1
KBUILD_CFLAGS += -DCC_HAVE_ASM_GOTO
KBUILD_AFLAGS += -DCC_HAVE_ASM_GOTO
endif
And in gcc-goto.sh:
cat << "END" | $@ -x c - -c -o /dev/null >/dev/null 2>&1 && echo "y"
int main(void)
{
#if defined(__arm__) || defined(__aarch64__)
/*
* Not related to asm goto, but used by jump label
* and broken on some ARM GCC versions (see GCC Bug 48637).
*/
static struct { int dummy; int state; } tp;
asm (".long %c0" :: "i" (&tp.state));
#endif
entry:
asm goto ("" :::: entry);
return 0;
}
END
This script reports:
Assembler messages:
Fatal error: The input and output files must be distinct
And it is introduced by binutils' commit:
commit 67f846b59b32f3d704c601669409c2584383fea9
Author: John Darrington <john at darrington.wattle.id.au>
Date: Thu Apr 12 15:07:02 2018 +0100
Stop the assembler from overwriting its output file.
[snip]
+ if (sib.st_ino == sob.st_ino)
+ {
+ /* Don't let as_fatal remove the output file! */
+ out_file_name = NULL;
+ as_fatal (_("The input and output files must be distinct"));
[snip]
I can't reproduce this problem locally, but it can be reproduced in our daily
build. Yocto doesn't have this problem atm since it use linux-yocto (not -dev).
Do you have any suggestions, please ?
// Robert
On 07/18/2018 04:10 AM, Khem Raj wrote:
> Signed-off-by: Khem Raj <raj.khem at gmail.com>
> ---
> meta/conf/distro/include/tcmode-default.inc | 2 +-
> .../{binutils-2.30.inc => binutils-2.31.inc} | 2 +-
> ....30.bb => binutils-cross-canadian_2.31.bb} | 0
> ...s-cross_2.30.bb => binutils-cross_2.31.bb} | 0
> ...ssdk_2.30.bb => binutils-crosssdk_2.31.bb} | 0
> ...s-crosssdk-Generate-relocatable-SDKs.patch | 12 +-
> ...o-not-generate-linker-script-directo.patch | 22 +-
> ...iden-the-regexp-for-SH-architectures.patch | 12 +-
> ...004-Point-scripts-location-to-libdir.patch | 10 +-
> ...-RPATH-entry-if-LD_RUN_PATH-is-not-e.patch | 10 +-
> .../binutils/0006-Use-libtool-2.4.patch | 2296 +++++++++--------
> ...-the-armv5e-architecture-to-binutils.patch | 8 +-
> ...stro-compiler-point-to-the-wrong-ins.patch | 4 +-
> ...-system-directories-when-cross-linki.patch | 50 +-
> ...h-in-libtool-when-sysroot-is-enabled.patch | 4 +-
> ...e-default-emulation-for-mips64-linux.patch | 12 +-
> .../0012-Add-support-for-Netlogic-XLP.patch | 80 +-
> ...ect-assembling-for-ppc-wait-mnemonic.patch | 10 +-
> .../0014-Detect-64-bit-MIPS-targets.patch | 4 +-
> .../0015-sync-with-OE-libtool-changes.patch | 4 +-
> .../{binutils_2.30.bb => binutils_2.31.bb} | 0
> 21 files changed, 1327 insertions(+), 1215 deletions(-)
> rename meta/recipes-devtools/binutils/{binutils-2.30.inc => binutils-2.31.inc} (97%)
> rename meta/recipes-devtools/binutils/{binutils-cross-canadian_2.30.bb => binutils-cross-canadian_2.31.bb} (100%)
> rename meta/recipes-devtools/binutils/{binutils-cross_2.30.bb => binutils-cross_2.31.bb} (100%)
> rename meta/recipes-devtools/binutils/{binutils-crosssdk_2.30.bb => binutils-crosssdk_2.31.bb} (100%)
> rename meta/recipes-devtools/binutils/{binutils_2.30.bb => binutils_2.31.bb} (100%)
>
More information about the Openembedded-core
mailing list