According to the comments in the ebuild, --enable-asm should only be passed to econf when USE=-pic and ARCH != sparc. Currently, when ARCH == sparc, --enable-asm is passed, and otherwise --disable-asm is passed. For correct functionality, the following probably should be used: myconf="${myconf} $(use sparc && echo --disable-asm || $(use_enable !pic asm))" Reproducible: Always Steps to Reproduce:
Fixed in 7.2_rc1, great catch!
There still is a problem with the method in which --enable/disable-asm is selected: the logic was reversed, but still is wrong. The current logic is: !pic & !sparc : enable !pic & sparc : disable pic & !sparc : enable (should be disable) pic & sparc : disable If you don't like the line I listed in comment #0, then you can do the following: use sparc || myconf="${myconf) $(use_enable !pic asm)" use sparc && myconf="${myconf} --disable-asm" or even: myconf="${myconf} $(use_enable !pic asm)" use sparc && myconf="${myconf} --disable-asm" The reason is that ./configure only looks at the last --enable/disable-asm parameter passed, so the $(use_enable !sparc asm) line is overriding the $(use_enable !pic asm) line.
The default is right for sparc so I'm removing that line and just leaving pic.
Reopening because it seems that the fix was dropped in 7.2, only 7.2_rc1 had the logic fix applied - please fix 7.2, 7.3, and 7.3-r1.
7.2 looks right, 7.3 is wrong (reversed logic vs 7.2). I don't remember where I mentioned it, but 7.3 appears to have revived a lot of bugs that were fixed in 7.2.
Meh, I went through the overlay's and portage's histories and we pretty much screwed up over time. Hopefully, 7.3-r2 should be exactly the same as -9999 from the overlay which has all the proper fixes. 7.3-r2 is under p.mask until it gets a little more testing. Please do try it. Thanks
I finally got a chance to look at the new 7.4_rc1 ebuild, and it still shows the problem mentioned in comment #2, namely that even though there is a "pic" useflag that claims to enable/disable asm, the ebuild unconditionally sets --enable-asm when ${ARCH} != sparc, and --disable-asm when ${ARCH} == sparc.
Patches welcome as I don't know what the proper use of --*-asm is. Tomas, do you have an idea by any chance? :) Thanks
(In reply to comment #8) > Patches welcome as I don't know what the proper use of --*-asm is. Assuming that the comments in the ebuild are correct, the easiest fix would be to change the line: myconf="${myconf} $(use_enable !sparc asm)" to: use sparc && myconf="${myconf} --disable-asm" which would properly override the $(use_enable !pic asm) in the previous line only on ARCH=sparc, and do nothing otherwise. If comment #3 is still true, then just deleting the line entirely (and the comment preceding) would work. I cannot verify that, as I do not have a sparc machine to test.
How about we ask the sparc folks to make sure ? @sparc, what say you? Thanks
(In reply to comment #3) > The default is right for sparc so I'm removing that line and just leaving pic. still true, at least for 7.3 and 7.4. didn't check the other ones. The configure script disables asm for all arches except x86, amd64 and ppc, event if --enable-asm is passed. therefore the line in the ebuild can be removed. this is really good because 7.3-r1 (which is about to go stable) always passes --enable-asm for sparc :)
(In reply to comment #11) > > The default is right for sparc so I'm removing that line and just leaving pic. > > still true, at least for 7.3 and 7.4. didn't check the other ones. > > The configure script disables asm for all arches except x86, amd64 and ppc, > event if --enable-asm is passed. therefore the line in the ebuild can be > removed. > > this is really good because 7.3-r1 (which is about to go stable) always passes > --enable-asm for sparc :) /me is a bit confused... So what's the correct fix? We should just not bother with asm ? Thanks
> So what's the correct fix? We should just not bother with asm ? Right, no special code in the ebuild needed for sparc. If the ebuild passes --enable-asm to the configure script the conf script will turn it into --disable-asm if host=sparc
@sparc, 7.4.1-r1 is based on a nearly-rewrited ebuild where the bug should be gone. Please confirm. Thanks
(In reply to comment #14) > @sparc, > > 7.4.1-r1 is based on a nearly-rewrited ebuild where the bug should be gone. > Please confirm. > > Thanks > I can verify that the pertinent part of the ebuild is unchanged, except for moving a comment to the preceding line. This indicates to me that the bug has probably not been fixed, as of 7.4.1-r2.
Fixed as per comment 13 in both overlay and mesa 7.5-r1 (which is in main tree).