openwall / openwall/john

When no SIMD is found, configure must deactivate SIMD support

Open
#5,631 14 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

bug enhancement
Dominant language
C
Stars
13.6k
Forks
2.6k
PR merge metrics
No merged PRs in 30d

Description

When no SIMD is found, configure should behave as if the user had set --disable-simd:

  • set that no SIMD is avaiblable;
  • define JOHN_NO_SIMD;
  • ...

That's not what's happening on Android.

The lines below will include the header even when SIMD is not supported (in my example).

https://github.com/openwall/john/blob/f3517213a576867423cd9de55e6f720b0339c6cd/src/pseudo_intrinsics.h#L47-L48

checking special compiler flags... ARM
checking for NEON... no
checking for ASIMD... no

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start with the configure checks for NEON and ASIMD and inspect src/pseudo_intrinsics.h at the linked lines. Reproduce the Android case where both checks report no, then verify that configuration marks SIMD unavailable, defines JOHN_NO_SIMD, and does not include the SIMD header.

Written by the indexing model from the issue text.

Assessment

Tech stack
c
Domain
build-system, performance
Issue type
Bug
Difficulty
3/5
Estimated time
1-2 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.