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.

Reply via email to