Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 745372 - sys-devel/binutils-2.35.1 no longer builds dxvk for i686-w64-mingw32 target
Summary: sys-devel/binutils-2.35.1 no longer builds dxvk for i686-w64-mingw32 target
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo Toolchain Maintainers
URL: https://sourceware.org/PR26675
Whiteboard:
Keywords: PATCH
Depends on:
Blocks:
 
Reported: 2020-09-29 06:46 UTC by Mike Lothian
Modified: 2021-01-23 17:58 UTC (History)
1 user (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
Failed build log (build.log,83.82 KB, text/plain)
2020-09-29 06:47 UTC, Mike Lothian
Details
Updated build.log (build2.log,81.39 KB, text/plain)
2020-09-29 10:20 UTC, Mike Lothian
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Mike Lothian 2020-09-29 06:46:37 UTC
This is only 32bit builds, 64bit continues to work. The last version that worked was cross-i686-w64-mingw32/binutils-2.34-r2

Reproducible: Always
Comment 1 Mike Lothian 2020-09-29 06:47:11 UTC
Created attachment 663058 [details]
Failed build log
Comment 2 Mike Lothian 2020-09-29 06:48:32 UTC
To be clear, I'm not asking for support with dxvk (which is in my overlay) I'm reporting a regression in binutils
Comment 4 Ionen Wolkens gentoo-dev 2020-09-29 07:23:11 UTC
Likely something more needed to reproduce, just tried and 32bit dxvk-9999 (from my own overlay, commit ccb782219c93d7665927ec1b0af7c7c4fdfc067d) built fine for me with =cross-i686-w64-mingw32/binutils-2.35.1 and cross-i686-w64-mingw32/gcc-9.3.0-r1 (haven't tried gcc10).
Comment 5 Ionen Wolkens gentoo-dev 2020-09-29 08:00:29 UTC
Gave the dxvk-9999 from your overlay a try as well since it's much different from mine and with patches, "ABI_X86=32 emerge dxvk::fireburn" still built fine with binutils-2.35.1 and default USE.
Comment 6 Mike Lothian 2020-09-29 08:16:46 UTC
What version of glibc did you test with? Going back to cross-i686-w64-mingw32/binutils-2.34-r2 got things working again here
Comment 7 Ionen Wolkens gentoo-dev 2020-09-29 08:29:15 UTC
(In reply to Mike Lothian from comment #6)
> What version of glibc did you test with?
It's a full ~amd64 up-to-date system except for gcc10, so glibc-2.32-r2.

Maybe how cross gcc was built has something to do with it given looks related to its libstdc++.a (lto? or maybe rebuild cross gcc with binutils 2.35.1 too?)
Comment 8 Mike Lothian 2020-09-29 09:26:11 UTC
I'll try rebuilding gcc with the newer binutils

Only dxvk is using lto, gcc & bintuils aren't
Comment 9 Mike Lothian 2020-09-29 10:20:01 UTC
The DRARF issue has been fixed upstream via https://sourceware.org/git/?p=binutils-gdb.git;a=patch;h=269d40a2ef3b020b5beb3f3de5b8e909c43ab53b but dxvk still fails

That was after rebuilding gcc-10.2.0-r1
Comment 10 Mike Lothian 2020-09-29 10:20:20 UTC
Created attachment 663106 [details]
Updated build.log
Comment 11 Mike Lothian 2020-09-30 12:28:08 UTC
There's a fix now in master, I'm running with it in /etc/portage/patches but any chance a 2.35.1-r1 could be created including it?

https://sourceware.org/git/gitweb.cgi?p=binutils-gdb.git;h=04e433a8571e727108b8f1b9a04ba5c7ab20112c
Comment 12 tt_1 2020-09-30 13:49:59 UTC
can you provide some more information on how to reproduce this? compiling dxvk with lto isn't well documented. thanks :)
Comment 13 Mike Lothian 2020-09-30 14:39:11 UTC
Hi

If you're using my overlay make sure the mingw flag is set and that abi_x86_32 is set too

My flags are:

CFLAGS="-O3 -march=native -pipe -flto=8"
CXXFLAGS="${CFLAGS}"
LDFLAGS="-Wl,-O1 -Wl,--as-needed -Wl,--hash-style=gnu -flto=8"

The ebuild filters out -Wl,--hash-style* as it causes issues

Let me know how you get on
Comment 14 Ionen Wolkens gentoo-dev 2020-10-01 01:46:19 UTC
Personally wasn't able to reproduce even with -flto (it was one of the first thing I tried seeing the CXXFLAGS), so that's why I suspected something up with libstdc++.a instead.

But as I stated already, I never tried with gcc10 so could have something to do with it.

It's good that upstream found a way to fix this, but being non-ELF + lto-related probably won't affect too many people.
Comment 16 Andreas K. Hüttel archtester gentoo-dev 2020-10-09 21:29:44 UTC
Cherrypicked to gentoo/binutils-2.35.1 (it only affects non-elf targets)
Comment 17 Andreas K. Hüttel archtester gentoo-dev 2021-01-23 17:58:22 UTC
Fixed in 2.35.1-r1