wireshark 2.2.x build fail
Joe Marcus Clarke
marcus at freebsd.org
Mon Oct 17 14:44:04 UTC 2016
On 10/16/16 18:56, Michael Butler wrote:
> On 10/16/16 11:36, Joe Marcus Clarke wrote:
>>
>> Seems like the easy fix would be to incorporate the fix for this bug,
>> and then disable SSE4.2 in a CFLAGS override. The better fix would be
>> to have clang do the same as GCC so that the test build would fail on
>> those platforms that don't support SSE4.2.
>
> Personally, I feel that this whole approach is wrong. To have CONFIGURE
> set a flag asking for instructions not supported by the host for the
> whole project when only one module has a run-time check for them is
> depending on undefined behavior. This is plainly poor engineering.
>
> It so happens that GCC does the expected thing but there is no guarantee
> that any other compiler can or should.
>
> In CLANG's case, it found an opportunity to use an SSE-4.2 instruction
> in compiling LEMON and assumed it could use it as CONFIGURE told it
> explicitly that it could. "fixing" every compiler out there to be
> GCC-compatible is not an acceptable or desirable work-around.
>
> The option should only be set for the module prepared for and capable of
> handling the absence of the extended instructions,
Sure. I think the better case is to do a runtime check of a binary
built with this instruction set versus just a compiler check. Seems
like the compiler check is what WS is settling on, though.
Will any stub executable built with these instructions fail, or is there
a specific call that needs to be made to test this? I imagine the latter.
Joe
--
Joe Marcus Clarke
FreeBSD GNOME Team :: gnome at FreeBSD.org
FreeNode / #freebsd-gnome
http://www.FreeBSD.org/gnome
More information about the freebsd-ports
mailing list