| Commit message (Collapse) | Author | Age | Files | Lines |
|
|
|
|
|
|
|
| |
Unlike mingw64-toolchain, this doesn't build crt out-of-source
(just does for headers) and is only affected by 1 issue.
Bug: https://bugs.gentoo.org/879537
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Unfortunately mingw doesn't play well with many security/mitigation
flags. May need to consider a mingw.eclass if keep adding more of
these to every ebuilds using it.
Bug: https://bugs.gentoo.org/878849
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/758914
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Less likely to be an issue here given the whole crossdev involvement
which may or may not have working libssp, but it seems reasonable to
add and there's a way to override if needed.
Bug: https://bugs.gentoo.org/870136
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
flag-o-matic is looking at respecting -fuse-ld for test-flags-CCLD,
which is good but don't want this when doing the user-unexpected
switch to mingw toolchain (filtering feels more solid either way).
Users can use MINGW_BYPASS=1 if really need full control.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Not tested, but should work in theory.
Also drop redundant --prefix while here, but keep array so it's
easy to add option if needed in the future.
Closes: https://bugs.gentoo.org/853250
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Technically this can be considered a different CTARGET (believe
some do x86_64-w64-mingw32ucrt) and, bit like clang's default-libcxx,
shouldn't be casually swapped (but attempts are likely to fail).
Also cleanup metadata full stops and add widl while here.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
| |
Signed-off-by: Tee KOBAYASHI <xtkoba@gmail.com>
Closes: https://github.com/gentoo/gentoo/pull/26008
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
| |
Just old revisions, all 3 versions still kept for now.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
| |
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
| |
Unset is needed given CC is not expected to be a cross-compiler
but, if users know what they are doing, leave a way (MINGW_BYPASS=1).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
i.e. it could be CC=x86_64-pc-linux-gnu-gcc / clang which is
what's wanted for building tools, but after we need to discard
that to switch to x86_64-w64-mingw32-gcc (unless CHOST is already
mingw as it would be correct).
Ideally would need a unified way to do this with override variables
for users to specify the alternate toolchain variables.
The -Wl,--hash-style=* filter is likely not necessary given
strip-unsupported-flags already strip it, but if(?) CC was
set it may possibly have messed with that -- albeit will keep
it as a safety/informational.
Closes: https://github.com/gentoo/gentoo/pull/25365
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Non-native USE=tools never made much sense, If a package is
cross-compiling for mingw using e.g. widl, it'll need to be able
to run the tool. This also prevents build failure (bug #644556)
during bootstrap given this won't be trying to link with mingw
(note that can cross-emerge mingw64-runtime for old behavior).
wrt widl, it is provided by wine but that is a heavy dependency and
some upstreams (e.g. vkd3d-proton) default to using *-w64-mingw32-widl
instead -- small tool so may as well install it.
Closes: https://bugs.gentoo.org/644556
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Mostly just style, but also now checking tuples again to ensure
more deterministic results (e.g. a cpp check gone wrong could
give 32bit despite x86_64 tuple), then fallback on the cpp check
rather than die like tuple check formerly did.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
May return different error codes despite working properly,
cause unknown but ideally should look at doing this
differently. For now just revert to old behavior.
While here, add guard for headers-only. Not an issue per-se
given lib options don't matter, but it still uses wrong cpp
at that stage.
Closes: https://bugs.gentoo.org/840662
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
| |
Just old revisions, revised ebuilds seems fine so far and
this makes pkgcheck happy.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
| |
There seem to still be interest for 8.0.0 but not for 7.0.0 as
as far as I can tell. ebuild is also missing the udivmoddi fix.
Closes: https://github.com/gentoo/gentoo/pull/25038
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
| |
To make pkgcheck happy and consistency, revbumps are not strictly
necessary but done in case need to test for regressions as it
shifts a lot around (will cleanup soon).
Only differences with 10 is patches applied (like 10, also remove
rdtsc patch from 9.0.0 as that version fixed it and our patch does
a different redundant fix).
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This version fixes building with vanilla binutils-2.38 wrt
bug #838157, and the (now keyworded) >=binutils-2.38-r2 backport
also fixed it for all versions.
Includes some ebuild cleanups/changes:
- EAPI7->8
- drop unused autotools inherit
- update HOMEPAGE to https non-sourceforge link
- update LICENSE, main license is ZPL + others, and
tools are GPL-3+ (could probably still use revision)
- remove obsolete rdtsc patch (was bug #786549), been fixed since
9.0.0 but the fix is different and was letting our patch apply
- namespace is_crosscompile() to avoid confusing pkgcheck,
note that this is toolchain.eclass' version which is
different than tc-is-cross-compiler
- inline just_headers/alt_prefix/crt_with(), left crt's
use_with and use_enable alone given it's less jarring
and may have additional uses in the future
- move src_configure-only functions inside src_configure
- use econf with ECONF_SOURCE over direct ${S}/configure
- add missing || die for rm / mkdir / push+popd / cpp+grep
(for cpp, use a case statement for clarity and no tmp variables)
- drop rm's -f, haven't found a situation where it'd fail
- misc style changes like using arrays for econf
Not touching CHOST/CATEGORY/symlinks and friends given haven't
fully reviewed implications for this package + crossdev.
Closes: https://bugs.gentoo.org/838157
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
Don't use this intensively (mostly just wine), but know a bit about
it and might as well handle it in behalf of toolchain@ when possible.
Help/pointers welcome, especially from heavier cross/mingw users if
anything is amiss.
Signed-off-by: Ionen Wolkens <ionen@gentoo.org>
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/787662
Signed-off-by: Sam James <sam@gentoo.org>
|
|
|
|
|
| |
Bug: https://bugs.gentoo.org/552720
Signed-off-by: Ulrich Müller <ulm@gentoo.org>
|
|
|
|
|
|
|
| |
Reported-by: Mike Lothian
Closes: https://bugs.gentoo.org/799212
Package-Manager: Portage-3.0.20, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
gcc-11 defines __rdtsc as a macro:
// include/ia32intrin.h:110
#define __rdtsc() __builtin_ia32_rdtsc ()
and causes build failure:
intrincs/rdtsc.c:15:30:
error: macro "__rdtsc" passed 1 arguments, but takes just 0
15 | unsigned __int64 __rdtsc(void)
| ^
Let's avoid __rdtsc definition on systems with #define __rdtsc present.
There is still a chance that it might be a '#define __rdtsc __rdtsc'.
We'll revisit it then.
Reported-by: Mihai Donțu
Closes: https://bugs.gentoo.org/786549
Package-Manager: Portage-3.0.18, Repoman-3.0.3
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Signed-off-by: Sam James <sam@gentoo.org>
Signed-off-by: David Seifert <soap@gentoo.org>
|
|
|
|
|
| |
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
| |
Reported-by: Mark Harmstone
Package-Manager: Portage-3.0.8, Repoman-3.0.1
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Package-Manager: Portage-2.3.88, Repoman-2.3.20
Signed-off-by: David Seifert <soap@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
mingw64-runtime-7.0.0 added basic support of _FORTIFY_SOURCE to harden
strcpy() and memcpy() via __strcpy_chk() __memcpy_chk() similar to glibc.
Unfortunately that imposes a new dependency on every caller that defines
_FORTIFY_SOURCE to link against libssp as minw64-runtime does not provide
__strcpy_chk() and friends. For comparison glibc does provide __strcpy_chk.
To avoid widespread breakage (including build failure of USE=ssp gcc itself)
we enable __strcpy_chk() checks only when -fstack-protector* options are set.
Package-Manager: Portage-2.3.85, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
| |
Package-Manager: Portage-2.3.84, Repoman-2.3.20
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
| |
Closes: https://bugs.gentoo.org/653246
Package-Manager: Portage-2.3.76, Repoman-2.3.17
Signed-off-by: James Le Cuirot <chewi@gentoo.org>
Closes: https://github.com/gentoo/gentoo/pull/12944
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
| |
Expose *_s() family of functions by default from headers.
Reported-by: Jason A. Donenfeld
Closes: https://bugs.gentoo.org/691980
Package-Manager: Portage-2.3.71, Repoman-2.3.17
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
| |
This disables all stripping in mingw64-runtime. As PMS does
not provide an alternative just drop stripping for now.
Reported-by: Michał Górny
Closes: https://bugs.gentoo.org/587292
Package-Manager: Portage-2.3.52, Repoman-2.3.12
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts commit 478d91086baa442fb578e0982063b93a19caf382.
Fresh bootstrap fails to build libraries as those need full stage2
compiler:
```
$ crossdev -t x86_64-w64-mingw32 -P -v
* Emerging cross-mingw64-runtime ...
...
configure: error: in `.../mingw-w64-v6.0.0/mingw-w64-libraries/libmangle':
configure: error: C compiler cannot create executables
See `config.log' for more details
```
Disable default USE=libraries.
Reported-by: Rafael Kitover
Bug: https://bugs.gentoo.org/665512
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
|
|
|
|
|
|
|
|
|
|
|
| |
Enable mangle, pseh, winpthreads libraries by default.
Notably this exposes libpthread.a compatible library and
makes building mode pthread-based software.
Reported-by: Rafael Kitover
Bug: https://bugs.gentoo.org/665512
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Normally mingw-64 does not use dynamic linker.
One exception is at ./configure time where $LDFLAGS
is used by default.
When LDFFLAGS=-Wl,--hash-style=gnu is passed (default
on linux) to mingw64-runtime a few things are not
auto-detected. One of them is __CTORS_LIST__ / __DTORS_LIST__
support by binutils' target ld.
If constructors are not provided then binaries start
crashing at shutdown.
The workaround is to filter out -Wl,--hash-style=* options.
Longer-term fix will be to install mingw64-runtime into
target: bug #642604. That wa LDFLAGS from CBUILD will not
leak into libc packages.
Signed-off-by: Sergei Trofimovich <slyfox@gentoo.org>
Package-Manager: Portage-2.3.50, Repoman-2.3.11
|
|
|
|
| |
Package-Manager: Portage-2.3.40, Repoman-2.3.9
|
|
|
|
|
|
|
| |
for some reason console application is not working on my windows machine, more
testing need to be done, removed keywords.
Package-Manager: Portage-2.3.40, Repoman-2.3.9
|
|
|
|
| |
Package-Manager: Portage-2.3.40, Repoman-2.3.9
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
A couple of changes:
- Allow dev-util/mingw64-runtime[headers-only] for cross-building case.
One day crossdew won't need cross-${CTARGET}/mingw64-runtime packages
and will be able to use dev-util/mingw64-runtime directly.
This change is a step in that direction.
- Awitch to --prefix=/usr (from --prefix=/). This allow cross-building
dev-util/mingw64-runtime itself and installing libraries into /usr/lib
(instead of /lib).
Tested as:
- generated working toolchain:
$ crossdev -t x86_64-w64-mingw32
- cross-built mingw64-runtime successfully:
$ x86_64-w64-mingw32-emerge -v1 dev-util/mingw64-runtime
Package-Manager: Portage-2.3.24, Repoman-2.3.6
|
|
|
|
|
|
|
|
|
| |
It's one of the steps to be able to cross-build 'dev-util/mingw64-runtime'
("CBUILD != (CHOST = CTARGET)" case).
Noticed by Marty E. Plummer.
Package-Manager: Portage-2.3.24, Repoman-2.3.6
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
USE=headers-only
CROSSCOMPILE_OPTS is a USE_EXPAND of a single item: headers-only.
Convert it to a global USE flag instead.
Mechanical ebuild rename done as:
$ sed -e 's@crosscompile_opts_headers-only@headers-only@g' \
-i $(git grep -l headers-only)
'headers-only' flag is used by crossdev to bootstrap stage1 compiler
before libc is available.
crossdev switched to USE=headers-only in =sys-devel/crossdev-20171230.
Bug: https://bugs.gentoo.org/642712
Package-Manager: Portage-2.3.19, Repoman-2.3.6
|
|
|
|
|
|
|
|
|
|
|
|
| |
Currently building a mingw-w64 toolchain inside of gentoo prefix with
crossdev will fail, due to installing files outside of the prefix. Added
${EPREFIX} where apropriate fixed this issue.
Tested in a prefix with toolchain x86_64-w64-mingw32, and tested on bare
gentoo with x86_64-w64-mingw32 & i686-w64-mingw32.
Package-Manager: Portage-2.3.19, Repoman-2.3.6
Closes: https://github.com/gentoo/gentoo/pull/6675
|
| |
|
|
|
|
| |
Package-Manager: Portage-2.3.8, Repoman-2.3.3
|
|
|
|
|
|
|
|
|
|
| |
Fixes building dev-libs/icu against mingw-w64 targets.
References:
http://ssl.icu-project.org/trac/ticket/12896
https://sourceforge.net/p/mingw-w64/mingw-w64/ci/b508bb87ad179421d10df68a7ebc48b33570f9b0/
Package-Manager: Portage-2.3.8, Repoman-2.3.3
Closes: https://github.com/gentoo/gentoo/pull/5726
|
|
|
|
|
|
|
|
| |
Included patch only changes code formatting and comments. See:
https://sourceforge.net/p/mingw-w64/bugs/616/
Package-Manager: Portage-2.3.6, Repoman-2.3.2
Closes: https://github.com/gentoo/gentoo/pull/4878
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cross-x86_64-w64-mingw32/gcc has the following default search dir:
$ x86_64-w64-mingw32-gcc -print-search-dirs
install: /usr/lib/gcc/x86_64-w64-mingw32/5.4.0/
programs: =/usr/libexec/gcc/x86_64-w64-mingw32/5.4.0/:/usr/libexec/gcc/x86_64-w64-mingw32/5.4.0/:/usr/libexec/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/:/usr/lib/gcc/x86_64-w64-mingw32/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/x86_64-w64-mingw32/5.4.0/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/bin/
libraries: =/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/lib/x86_64-w64-mingw32/5.4.0/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/lib/../lib/:/usr/x86_64-w64-mingw32/mingw/lib/x86_64-w64-mingw32/5.4.0/:/usr/x86_64-w64-mingw32/mingw/lib/../lib/:/usr/lib/gcc/x86_64-w64-mingw32/5.4.0/../../../../x86_64-w64-mingw32/lib/:/usr/x86_64-w64-mingw32/mingw/lib/
This default does not contain /usr/x86_64-w64-mingw32/lib64 where libraries
installed with USE=libraries such as libpthread.dll.a are installed.
Applications that need to link with lib pthread cannot link properly unless
LDFLAGS are manually modified.
This patch append --libdir=/usr/${CTARGET}/usr/lib in order to install such
libraries in the default gcc search directory.
|