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.