[llvm-bugs] [Bug 39754] New: Mingw-w64 runtime failure

via llvm-bugs llvm-bugs at lists.llvm.org
Thu Nov 22 08:09:06 PST 2018


https://bugs.llvm.org/show_bug.cgi?id=39754

            Bug ID: 39754
           Summary: Mingw-w64 runtime failure
           Product: clang
           Version: 7.0
          Hardware: PC
                OS: Windows NT
            Status: NEW
          Severity: normal
          Priority: P
         Component: C++
          Assignee: unassignedclangbugs at nondot.org
          Reporter: eldlistmailingz at tropicsoft.com
                CC: blitzrakete at gmail.com, dgregor at apple.com,
                    erik.pilkington at gmail.com, llvm-bugs at lists.llvm.org,
                    richard-llvm at metafoo.co.uk

Created attachment 21145
  --> https://bugs.llvm.org/attachment.cgi?id=21145&action=edit
Program to compile and link illustrating the bug.

In testing the Boost Parameter library using clang-7.0 32-bit targeting
mingw-w64/gcc on Windows I ran into a mingw-w64 runtime failure when attempting
to run the final command-line executable program. The full message is:

"Mingw-w64 runtime failure:
  Unknown pseudo relocation protocol version 65536.

This application has requested the Runtime to terminate it in an unusual way.
Please contact the application's support team for more information."

Using clang-6.0 32-bit targeting mingw-w64/gcc on Windows the command-line
executable program runs correctly. Using mingw-w64/gcc-8.1, which is the
backend I am using with clang-7.0, on Windows the command-line program runs
correctly. Nor does it matter what mingw-w64/gcc version I use as the backend
for clang-7.0, the runtime failure persists.

There is a bug report at https://sourceforge.net/p/mingw-w64/bugs/769/, which
points to a bug report at
https://sourceware.org/bugzilla/show_bug.cgi?id=23872, with a fix at
https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=73af69e74974eaa155eec89867e3ccc77ab39f6d,
which it was suggested to me on the mingw-w64 mailing list might fix the
problem I encountered. However I am unable to figure out how to build the gcc
linker for mingw-w64, ld.exe, so I am reporting these problem here as a
clang-7.0 bug.

The program illustrating the bug is called test_clang7.cpp and attached.

The compile line is:

clang++ -c -x c++ -m32 -O0 -fno-inline -w -g -target i686-pc-windows-gnu
-march=i686 -I"E:\Utilities\Boost\boost_1_68_0" -o test_clang7.obj
test_clang7.cpp

In place of the -I"E:\Utilities\Boost\boost_1_68_0" parameter in that line
please use the path to whatever recent release of Boost you have on your
machine under Windows.

The link line is:

clang++ -o test_clang7.exe -Wl,--start-group test_clang7.obj -Wl,-Bstatic
-Wl,-Bdynamic -Wl,--end-group -m32 -g -target i686-pc-windows-gnu -march=i686

This will create the test_clang.exe. If you then try to run the test_clang.exe
you will get the failure mentioned above.

I have not tried this when building the program as  64-bit executable, but I
suspect that the bug might occur there also.

The operating system I am running this on is Windows 8.1.

-- 
You are receiving this mail because:
You are on the CC list for the bug.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-bugs/attachments/20181122/283d37a1/attachment-0001.html>


More information about the llvm-bugs mailing list