http://gcc.gnu.org/bugzilla/show_bug.cgi?id=54204

             Bug #: 54204
           Summary: Wrong baseline_symbols.txt picked for x32
    Classification: Unclassified
           Product: gcc
           Version: 4.8.0
            Status: UNCONFIRMED
          Severity: normal
          Priority: P3
         Component: libstdc++
        AssignedTo: unassig...@gcc.gnu.org
        ReportedBy: hjl.to...@gmail.com


On Linux/x32, when GCC is configured with --with

--with-multilib-list=m32,m64,mx32 -abi=x32

which builds the native x32 GCC:

[hjl@gnu-mic-2 gcc]$ ./xgcc --print-multi-directory
.
[hjl@gnu-mic-2 gcc]$ ./xgcc --print-multi-directory -mx32
.
[hjl@gnu-mic-2 gcc]$ ./xgcc --print-multi-directory -m32
32
[hjl@gnu-mic-2 gcc]$ ./xgcc --print-multi-directory -m64
64
[hjl@gnu-mic-2 gcc]$ 

libstdc++ testsuite uses

baseline_subdir := $(shell $(CXX) $(baseline_subdir_switch))

        @(output=${baseline_dir}/${baseline_subdir}/baseline_symbols.txt

to pick up baseline_symbols.txt and

[hjl@gnu-6 gcc]$ ls libstdc++-v3/config/abi/post/x86_64-linux-gnu
32  baseline_symbols.txt  x32
[hjl@gnu-6 gcc]$

The wrong file is picked for both -m64 and -mx32 cases.  One way
to fix is to compile a small C/C++ file and use "file" to check
the output.

Reply via email to