On Tue, Aug 8, 2017 at 4:47 AM, Adam Borowski <kilob...@angband.pl> wrote:
> On Sat, Aug 05, 2017 at 10:28:36PM +0200, Adam Borowski wrote:
>> It's easy to quite reliably detect the presence of such instructions
>> (probably no one JITs such code). There's no real way to check if it's
>> executed unconditionally, though -- a lot of software has optimized code
>> paths that are chosen at runtime.
>> I guess we could apply such check to the archive: for example, if any of
>> these instructions are present in a code section: [snip]
>> then the program may need sse2. But there's no good way to weed out false
>> positives automatically, so all we'd get is a list of candidates to check.
> I went through the whole archive and disassembled all binaries in unstable
> in amd64 and i386 (not sure where to get a good list of neon instructions
> for armhf) -- results attached, and so is the script for analyzing a
> Alas, there's way too many false positives to turn this into a lintian
> check. There's 254 amd64 and 409 i386 sources which produce executables
> that include those instructions (I ignored other ISA extensions for now),
> most of them use proper runtime detection. So unless someone can propose
> a better check, they'd need to be tested by hand.
I will prefer to implement it on lintian. Even if false positive. BTW
could you print path ?
> And no, presence of cpuid is not enough -- for example chromium:i386 checks
> it, yet requires sse2 (it even has proper runtime optimizations for sse4.2).
> . pkgext needs to have the path to ext edited; I didn't bother adding
> fragile $0 logic.
> ⣾⠁⢰⠒⠀⣿⡁ James Damore is a hero. Even mild criticism of bigots these days
> ⢿⡄⠘⠷⠚⠋⠀ comes at great personal risk.