From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (qmail 46263 invoked by alias); 26 May 2018 13:04:32 -0000 Mailing-List: contact gcc-help@gcc.gnu.org; run by ezmlm Precedence: bulk List-Id: List-Archive: List-Post: List-Help: Sender: gcc-owner@gcc.gnu.org Received: (qmail 46247 invoked by uid 89); 26 May 2018 13:04:30 -0000 Authentication-Results: sourceware.org; auth=none X-Virus-Found: No X-Spam-SWARE-Status: No, score=-5.8 required=5.0 tests=AWL,BAYES_00,FOREIGN_BODY,GIT_PATCH_2,GIT_PATCH_3,SPF_PASS autolearn=ham version=3.3.2 spammy=H*MI:JavaMail, H*M:JavaMail, H*r:10026, keine X-HELO: dedi548.your-server.de Received: from dedi548.your-server.de (HELO dedi548.your-server.de) (85.10.215.148) by sourceware.org (qpsmtpd/0.93/v0.84-503-g423c35a) with ESMTP; Sat, 26 May 2018 13:04:28 +0000 Received: from [78.46.172.3] (helo=sslproxy06.your-server.de) by dedi548.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.85_2) (envelope-from ) id 1fMYrx-0003ZB-AY; Sat, 26 May 2018 15:04:25 +0200 Received: from [82.135.62.35] (helo=mail.embedded-brains.de) by sslproxy06.your-server.de with esmtpsa (TLSv1.2:DHE-RSA-AES256-GCM-SHA384:256) (Exim 4.89) (envelope-from ) id 1fMYrw-000Onx-W3; Sat, 26 May 2018 15:04:25 +0200 Received: from localhost (localhost.localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id 3AC312A1672; Sat, 26 May 2018 15:04:38 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10032) with ESMTP id sUFFNRIPdHvd; Sat, 26 May 2018 15:04:37 +0200 (CEST) Received: from localhost (localhost.localhost [127.0.0.1]) by mail.embedded-brains.de (Postfix) with ESMTP id CDABF2A1674; Sat, 26 May 2018 15:04:37 +0200 (CEST) Received: from mail.embedded-brains.de ([127.0.0.1]) by localhost (zimbra.eb.localhost [127.0.0.1]) (amavisd-new, port 10026) with ESMTP id ls7pU02o04FO; Sat, 26 May 2018 15:04:37 +0200 (CEST) Received: from zimbra.eb.localhost (zimbra.eb.localhost [192.168.96.204]) by mail.embedded-brains.de (Postfix) with ESMTP id B979A2A1672; Sat, 26 May 2018 15:04:37 +0200 (CEST) Date: Sat, 26 May 2018 13:04:00 -0000 From: Sebastian Huber To: GCC Cc: Palmer Dabbelt Message-ID: <233244769.189066.1527339877501.JavaMail.zimbra@embedded-brains.de> Subject: RISC-V ELF multilibs MIME-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: quoted-printable X-IsSubscribed: yes X-SW-Source: 2018-05/txt/msg00244.txt.bz2 Hello, I built a riscv64-rtems5 GCC (it uses gcc/config/riscv/t-elf-multilib). The= following multilibs are built: riscv64-rtems5-gcc -print-multi-lib .; rv32i/ilp32;@march=3Drv32i@mabi=3Dilp32 rv32im/ilp32;@march=3Drv32im@mabi=3Dilp32 rv32iac/ilp32;@march=3Drv32iac@mabi=3Dilp32 rv32imac/ilp32;@march=3Drv32imac@mabi=3Dilp32 rv32imafc/ilp32f;@march=3Drv32imafc@mabi=3Dilp32f rv64imac/lp64;@march=3Drv64imac@mabi=3Dlp64 rv64imafdc/lp64d;@march=3Drv64imafdc@mabi=3Dlp64d If I print out the builtin defines and search paths for the default setting= s and the -march=3Drv64imafdc and compare the results I get: riscv64-rtems5-gcc -E -P -v -dD empty.c > def.txt 2>&1 riscv64-rtems5-gcc -E -P -v -dD empty.c -march=3Drv64imafdc > rv64imafdc.tx= t 2>&1 diff -u def.txt rv64imafdc.txt=20 --- def.txt 2018-05-26 14:53:26.277760090 +0200 +++ rv64imafdc.txt 2018-05-26 14:53:47.705638409 +0200 @@ -4,8 +4,8 @@ Configured with: ../gcc-7.3.0/configure --prefix=3D/opt/rtems/5 --bindir= =3D/opt/rtems/5/bin --exec_prefix=3D/opt/rtems/5 --includedir=3D/opt/rtems/= 5/include --libdir=3D/opt/rtems/5/lib --libexecdir=3D/opt/rtems/5/libexec -= -mandir=3D/opt/rtems/5/share/man --infodir=3D/opt/rtems/5/share/info --data= dir=3D/opt/rtems/5/share --build=3Dx86_64-linux-gnu --host=3Dx86_64-linux-g= nu --target=3Driscv64-rtems5 --disable-libstdcxx-pch --with-gnu-as --with-g= nu-ld --verbose --with-newlib --disable-nls --without-included-gettext --di= sable-win32-registry --enable-version-specific-runtime-libs --disable-lto -= -enable-newlib-io-c99-formats --enable-newlib-iconv --enable-newlib-iconv-e= ncodings=3Dbig5,cp775,cp850,cp852,cp855,cp866,euc_jp,euc_kr,euc_tw,iso_8859= _1,iso_8859_10,iso_8859_11,iso_8859_13,iso_8859_14,iso_8859_15,iso_8859_2,i= so_8859_3,iso_8859_4,iso_8859_5,iso_8859_6,iso_8859_7,iso_8859_8,iso_8859_9= ,iso_ir_111,koi8_r,koi8_ru,koi8_u,koi8_uni,ucs_2,ucs_2_internal,ucs_2be,ucs= _2le,ucs_4,ucs_4_internal,ucs_4be,ucs_4le,us_ascii,utf_16,utf_16be,utf_16le= ,utf_8,win_1250,win_1251,win_1252,win_1253,win_1254,win_1255,win_1256,win_1= 257,win_1258 --enable-threads --disable-plugin --enable-libgomp --enable-la= nguages=3Dc,c++,ada Thread model: rtems gcc version 7.3.0 20180125 (RTEMS 5, RSB a3a6c34c150a357e57769a26a460c475e= 188438f, Newlib 3.0.0) (GCC)=20 -COLLECT_GCC_OPTIONS=3D'-E' '-P' '-v' '-dD' '-march=3Drv64gc' '-mabi=3Dlp64= d' - /opt/rtems/5/libexec/gcc/riscv64-rtems5/7.3.0/cc1 -E -quiet -v -P -imulti= lib rv64imafdc/lp64d empty.c -march=3Drv64gc -mabi=3Dlp64d -dD +COLLECT_GCC_OPTIONS=3D'-E' '-P' '-v' '-dD' '-march=3Drv64imafdc' '-mabi=3D= lp64d' + /opt/rtems/5/libexec/gcc/riscv64-rtems5/7.3.0/cc1 -E -quiet -v -P -imulti= lib rv64imafdc/lp64d empty.c -march=3Drv64imafdc -mabi=3Dlp64d -dD ignoring nonexistent directory "/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/= ../../../../riscv64-rtems5/sys-include" #include "..." search starts here: #include <...> search starts here: @@ -338,4 +338,4 @@ #define __ELF__ 1 COMPILER_PATH=3D/opt/rtems/5/libexec/gcc/riscv64-rtems5/7.3.0/:/opt/rtems/= 5/libexec/gcc/riscv64-rtems5/7.3.0/:/opt/rtems/5/libexec/gcc/riscv64-rtems5= /:/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/:/opt/rtems/5/lib/gcc/riscv64-r= tems5/:/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5= /bin/ LIBRARY_PATH=3D/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/rv64imafdc/lp64d/= :/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/r= v64imafdc/lp64d/:/opt/rtems/5/lib/gcc/riscv64-rtems5/7.3.0/:/opt/rtems/5/li= b/gcc/riscv64-rtems5/7.3.0/../../../../riscv64-rtems5/lib/:/lib/:/usr/lib/ -COLLECT_GCC_OPTIONS=3D'-E' '-P' '-v' '-dD' '-march=3Drv64gc' '-mabi=3Dlp64= d' +COLLECT_GCC_OPTIONS=3D'-E' '-P' '-v' '-dD' '-march=3Drv64imafdc' '-mabi=3D= lp64d' This looks pretty much the same and the documentation says that G =3D=3D IM= AFD. Why is the default multilib and a variant identical? Most variants include the C extension. Would it be possible to add -march= =3Drv32g and -march=3Drv64g variants? --=20 Sebastian Huber, embedded brains GmbH Address : Dornierstr. 4, D-82178 Puchheim, Germany Phone : +49 89 189 47 41-16 Fax : +49 89 189 47 41-09 Diese Nachricht ist keine gesch=C3=A4ftliche Mitteilung im Sinne des EHUG.