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.