https://gcc.gnu.org/bugzilla/show_bug.cgi?id=93188

            Bug ID: 93188
           Summary: a-profile multilib mismatch for rmprofile toolchain
                    when architecture includes +mp or +sec
           Product: gcc
           Version: 9.2.1
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: driver
          Assignee: unassigned at gcc dot gnu.org
          Reporter: przemyslaw.wirkus at arm dot com
  Target Milestone: ---

Hi,

There are missing multilibs for rmprofile when architecture includes +mp or
+sec:

# Exact version of GCC and options given when GCC was configured/built:

$ ./arm-none-eabi-gcc -v
Using built-in specs.
COLLECT_GCC=./gcc-arm-none-eabi-9-2019-q4-major/bin/arm-none-eabi-gcc
COLLECT_LTO_WRAPPER=/media/przwir01/bulk/toolchains/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/lto-wrapper
Target: arm-none-eabi
Configured with:
/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/src/gcc/configure
--target=arm-none-eabi
--prefix=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native
--libexecdir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/lib
--infodir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/info
--mandir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/man
--htmldir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/html
--pdfdir=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/share/doc/gcc-arm-none-eabi/pdf
--enable-languages=c,c++ --enable-plugins --disable-decimal-float
--disable-libffi --disable-libgomp --disable-libmudflap --disable-libquadmath
--disable-libssp --disable-libstdcxx-pch --disable-nls --disable-shared
--disable-threads --disable-tls --with-gnu-as --with-gnu-ld --with-newlib
--with-headers=yes --with-python-dir=share/gcc-arm-none-eabi
--with-sysroot=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/install-native/arm-none-eabi
--build=x86_64-linux-gnu --host=x86_64-linux-gnu
--with-gmp=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr
--with-mpfr=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr
--with-mpc=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr
--with-isl=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr
--with-libelf=/mnt/workspace/workspace/GCC-9-pipeline/jenkins-GCC-9-pipeline-100_20191030_1572397542/build-native/host-libs/usr
--with-host-libstdcxx='-static-libgcc -Wl,-Bstatic,-lstdc++,-Bdynamic -lm'
--with-pkgversion='GNU Tools for Arm Embedded Processors 9-2019-q4-major'
--with-multilib-list=rmprofile
Thread model: single
gcc version 9.2.1 20191025 (release) [ARM/arm-9-branch revision 277599] (GNU
Tools for Arm Embedded Processors 9-2019-q4-major) 

# Host system type:

$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 18.04.3 LTS
Release:        18.04
Codename:       bionic

$ uname -a
Linux e109982-lin 4.15.0-72-generic #81-Ubuntu SMP Tue Nov 26 12:20:02 UTC 2019
x86_64 x86_64 x86_64 GNU/Linux

# Command line that triggers the bug:

$ cat test.c 
int x,y,z;
void main() {x=y/z;}

$ ./arm-none-eabi-gcc -mcpu=cortex-a9 -mfloat-abi=hard -specs=rdimon.specs
test.c

/home/przwir01/validation/2019-10/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld:
error: /tmp/cc6G2Yt6.o uses VFP register arguments, a.out does not

/home/przwir01/validation/2019-10/gcc-arm-none-eabi-9-2019-q4-major/bin/../lib/gcc/arm-none-eabi/9.2.1/../../../../arm-none-eabi/bin/ld:
failed to merge target specific data of file /tmp/cc6G2Yt6.o
 collect2: error: ld returned 1 exit status

# It is a regression started in GCC 8.3:

$ ./arm-none-eabi-gcc --version | grep release
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2018-q4-major) 8.2.1
20181213 (release) [gcc-8-branch revision 267074]
$ ./arm-none-eabi-gcc -mcpu=cortex-a9 -mfloat-abi=hard -S --print-multi-dir
thumb/v7+fp/hard

$ ./arm-none-eabi-gcc --version | grep release
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 8-2019-q3-update)
8.3.1 20190703 (release) [gcc-8-branch revision 273027]
$ ./arm-none-eabi-gcc -mcpu=cortex-a9 -mfloat-abi=hard -S --print-multi-dir
.

$ ./arm-none-eabi-gcc --version | grep release
arm-none-eabi-gcc (GNU Tools for Arm Embedded Processors 9-2019-q4-major) 9.2.1
20191025 (release) [ARM/arm-9-branch revision 277599]
$ ./arm-none-eabi-gcc -mcpu=cortex-a9 -mfloat-abi=hard -S --print-multi-dir
.

Reply via email to