Summary: | Several Assembler -USE flags missing in profile/default-linux/amd64/use.mask | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Roland Bär <roland> |
Component: | New packages | Assignee: | AMD64 Project <amd64> |
Status: | VERIFIED INVALID | ||
Severity: | normal | ||
Priority: | High | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Bug Depends on: | |||
Bug Blocks: | 84488 |
Description
Roland Bär
2005-01-11 02:48:10 UTC
This issue is currently being addressed by the AMD64 team. the USE flags are masked becuase they usualy enable x86 specific asm code. Solved -> Reopen for different solution The mentioned USE-Flags are for x86 only. amd64 enabled those part of source by default. INVALID. Referring also to the Bug #76521 solution. In #76521 Danny wrote "AMD64 Team decided that all packages that support amd64-SIMD assembler will be enabled to use that assembler by default." I agree with that. Could you comment a reference to the discussion for the decision? Thanx. But the solution shown up in #76521 is not in the intention of the Gentoo build system, this simply doesn't enable that using the build system, this simply hardcodes that "enable" in that ebuild. If we follow that way, we have to review all ebuilds using that flags, and hardcode that for amd64 in. This is error-pronous and unnecessary work. The USE game here, as far as I have that understood: 1. /usr/portage/profiles/default-linux/use.mask This masks out the flags for Linux generally, e.g mmx 2. /usr/portage/profiles/default-linux/amd64/use.mask Here we have to undo the effect of 1., by adding each flag with a dash -mmx Now principally any user can add the flags in e.g. /etc/make.conf Same game as similar problem "altivec" on Linux/ppc64 3. As the porting team has decided, to enable that flags per default, the following entry USE="${GRP_STAGE23_USE} mmx mmx2 sse sse2 3dnow 3dnowex" should be added to /usr/portage/profiles/default-linux/amd64/make.defaults The current #76521 solution is a "get-rid-of-that" solution, not a "enable-per-default" solution It's no "get-rif-od-that" solution. Taking {sse,sse2,mmx,...} out of use.mask would lead to breakage of all ebuilds that don't check for x86 when they check for the useflags. USE="sse" means: on _x86_, enable sse-assembler (32bit) for this package. This would break the build with gcc-error. You can't mix 32bit and 64bit code like that. So we had effectively 2 possibilities. Change the build-system to different USE Flags {sse-64,mmx-64,...} or hard-enable them.As there are NO amd64 processors w/o SIMD support, the choice was hard-enabling it. If you still want to ask questions or comment on this, please refer to the gentoo-amd64 mailing-list. Closing this issue for now, don't agree "invalid" |