https://gcc.gnu.org/bugzilla/show_bug.cgi?id=85142
Bug ID: 85142
Summary: Wrong -print-multi-os-directory & -print-multi-lib
output for riscv64 + multilib
Product: gcc
Version: 7.3.1
Status: UNCONFIRMED
Severity: normal
Priority: P3
Component: driver
Assignee: unassigned at gcc dot gnu.org
Reporter: david.abdurachmanov at gmail dot com
Target Milestone: ---
GCC 7.3.1 is available in Fedora RISC-V stage4 and is configured with multilib,
but only one ABI is selected. This is done to provide multilib paths, which are
required by glibc.
# gcc -print-multi-directory
.
# gcc -print-multi-lib
.;
lib64/lp64d;@march=rv64imafdc@mabi=lp64d
# gcc -print-multi-os-directory
.
Based on GCC man page -print-multi-os-directory should return ../lib64/lp64d
ppp packages uses: LIBDIR = $(DESTDIR)/lib/$(shell gcc
-print-multi-os-directory 2> /dev/null)
Thus wrongly installs libraries in /usr/lib directory, instead of in
/usr/lib/../lib64/lp64d.
I am also concerned by -print-multi-lib output.
Instead of:
lib64/lp64d;@march=rv64imafdc@mabi=lp64d
We should have:
../lib64/lp64d;@march=rv64imafdc@mabi=lp64d
All the paths seem to be related to "some lib directory" (/usr/lib) according
to man page.