Wind River Support Network

HomeDefectsLIN8-9319
Fixed

LIN8-9319 : Regression - SDK i686 multilib gcc compiler not able to generate -m64 content

Created: Jun 19, 2018    Updated: Dec 3, 2018
Resolved Date: Jul 13, 2018
Found In Version: 8.0.0.26
Fix Version: 8.0.0.27
Severity: Standard
Applicable for: Wind River Linux 8
Component/s: Toolchain

Description

As described in support case: When creating SDK, there was a change in behavior between RCPL13 and RCPL26.
The result of SDK generation contains, as before, i686_wrs_linux and x86_64_wrs_linux toolchains.
However, the i686_wrs_linux is not capable of generating 64 bit code, due to an error in a configuration of gcc canadian cross build.
So, linking using i686_wrs_linux and -m64 option fails in an ugly way, trying to link 32 c startup files to an 64 bit binary.


On my side, the Steps to Reproduce result in error:
/SDKs/8.0-intel-multi2-x86-64/sysroots/x86_64-wrlinuxsdk-linux/usr/libexec/i686-wrs-linux/gcc/i686-wrs-linux/5.2.0/real-ld: skipping incompatible /SDKs/8.0-intel-multi2-x86-64/sysroots/corei7-64-wrs-linux/usr/lib/i686-wrs-linux/5.2.0/libgcc.a when searching for -lgcc
/SDKs/8.0-intel-multi2-x86-64/sysroots/x86_64-wrlinuxsdk-linux/usr/libexec/i686-wrs-linux/gcc/i686-wrs-linux/5.2.0/real-ld: cannot find -lgcc
collect2: error: ld returned 1 exit status
I have installed my SDK in /SDKs/8.0-intel-multi2-x86-64 just for clarification. 

Attaching the output from ${CC} -v
Attaching a sample source code for your convenience

I have tested this on an older RCPL, 0013, and the program is compiled without issues.

Steps to Reproduce

1. Config line for project: wrlinux-8/wrlinux/configure --enable-board=intel-x86-64 --enable-rootfs=glibc-core --enable-kernel=standard --enable-build=debug --enable-reconfig --with-rcpl-version=0026
2. Enable multilib in local.conf
MULTILIBS = "multilib:lib32 multilib:lib64"
DEFAULTTUNE_virtclass-multilib-lib32 = "x86"
DEFAULTTUNE_virtclass-multilib-lib64 = "x86-64"
3. make export-sdk
4. install sdk
./wrlinux-8.0.0.26-glibc-x86_64-intel_x86_64-wrlinux-image-glibc-core-sdk.sh 
5. set environment for 32 bit:
./environment-setup-x86-wrsmllib32-linux
6. try to use compiler with -m64 flag:
${CC} -m64 -g -o main main.c

Other Downloads


Live chat
Online