Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

hal-hardware-analyzer: 4.2.0 -> 4.4.1 #353436

Merged
merged 1 commit into from
Nov 8, 2024

Conversation

risicle
Copy link
Contributor

@risicle risicle commented Nov 3, 2024

De-vendored nlohmann_json while I was at it.

At least we can get rid of the special-cased igraph.

Things done

  • Built on platform(s)
    • x86_64-linux
    • aarch64-linux
    • x86_64-darwin
    • aarch64-darwin
  • For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)
    • sandbox = relaxed
    • sandbox = true
  • Tested, as applicable:
  • Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
  • Tested basic functionality of all binary files (usually in ./result/bin/)
  • 24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)
    • (Package updates) Added a release notes entry if the change is major or breaking
    • (Module updates) Added a release notes entry if the change is significant
    • (Module addition) Added a release notes entry if adding a new NixOS module
  • Fits CONTRIBUTING.md.

Add a 👍 reaction to pull requests you find important.

@risicle risicle marked this pull request as ready for review November 3, 2024 17:48
@risicle risicle force-pushed the ris-hal-hardware-analyzer-4.4.1 branch from 1a65cc6 to ed102d4 Compare November 3, 2024 22:38
@ofborg ofborg bot requested a review from SCOTT-HAMILTON November 4, 2024 13:15
@khaneliman
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 353436


x86_64-linux

✅ 1 package built:
  • hal-hardware-analyzer

aarch64-linux

❌ 1 package failed to build:
  • hal-hardware-analyzer

x86_64-darwin

✅ 1 package built:
  • hal-hardware-analyzer

aarch64-darwin

✅ 1 package built:
  • hal-hardware-analyzer

@khaneliman
Copy link
Contributor

Looks like it's failing on aarch64-linux.

  715 |                     a.val[1] = vrev64q_u16(a.val[1]);
      |                                            ~~~~~~~^
      |                                                   |
      |                                                   __Uint64x2_t
/nix/store/rsqi0h743vzhnmsby3rvxdqbcfbq3p6q-gcc-13.3.0/lib/gcc/aarch64-unknown-linux-gnu/13.3.0/include/arm_neon.h:20088:25: note:   initializing argument 1 of 'uint16x8_t vrev64q_u16(uint16x8_t)'
20088 | vrev64q_u16 (uint16x8_t __a)
      |              ~~~~~~~~~~~^~~
/build/source/plugins/hawkeye/src/sbox_database.cpp: In function 'smallset_t hal::hawkeye::{anonymous}::smallset_init_full(u32)':
/build/source/plugins/hawkeye/src/sbox_database.cpp:868:56: error: cannot convert '__Uint64x2_t' to 'uint32x4_t'
  868 |                     return {vsetq_lane_u32(0xFFFFFFFF, tmp, 0), vdupq_n_u64(0)};
      |                                                        ^~~
      |                                                        |
      |                                                        __Uint64x2_t
/nix/store/rsqi0h743vzhnmsby3rvxdqbcfbq3p6q-gcc-13.3.0/lib/gcc/aarch64-unknown-linux-gnu/13.3.0/include/arm_neon.h:3018:45: note:   initializing argument 2 of 'uint32x4_t vsetq_lane_u32(uint32_t, uint32x4_t, int)'
 3018 | vsetq_lane_u32 (uint32_t __elem, uint32x4_t __vec, const int __index)
      |                                  ~~~~~~~~~~~^~~~~
/build/source/plugins/hawkeye/src/sbox_database.cpp:868:79: error: could not convert '{<expression error>, vdupq_n_u64(0)}' from '<brace-enclosed initializer list>' to 'smallset_t' {aka 'uint64x2x2_t'}
  868 |                     return {vsetq_lane_u32(0xFFFFFFFF, tmp, 0), vdupq_n_u64(0)};
      |                                                                               ^
      |                                                                               |
      |                                                                               <brace-enclosed initializer list>
/build/source/plugins/hawkeye/src/sbox_database.cpp:877:52: error: cannot convert '__Uint64x2_t' to 'uint16x8_t'
  877 |                     return {vsetq_lane_u16(0xFFFF, tmp, 0), vdupq_n_u64(0)};
      |                                                    ^~~
      |                                                    |
      |                                                    __Uint64x2_t
/nix/store/rsqi0h743vzhnmsby3rvxdqbcfbq3p6q-gcc-13.3.0/lib/gcc/aarch64-unknown-linux-gnu/13.3.0/include/arm_neon.h:3011:45: note:   initializing argument 2 of 'uint16x8_t vsetq_lane_u16(uint16_t, uint16x8_t, int)'
 3011 | vsetq_lane_u16 (uint16_t __elem, uint16x8_t __vec, const int __index)
      |                                  ~~~~~~~~~~~^~~~~
/build/source/plugins/hawkeye/src/sbox_database.cpp:877:75: error: could not convert '{<expression error>, vdupq_n_u64(0)}' from '<brace-enclosed initializer list>' to 'smallset_t' {aka 'uint64x2x2_t'}
  877 |                     return {vsetq_lane_u16(0xFFFF, tmp, 0), vdupq_n_u64(0)};
      |                                                                           ^
      |                                                                           |
      |                                                                           <brace-enclosed initializer list>
/build/source/plugins/hawkeye/src/sbox_database.cpp:886:49: error: cannot convert '__Uint64x2_t' to 'uint8x16_t'
  886 |                     return {vsetq_lane_u8(0xFF, tmp, 0), vdupq_n_u64(0)};
      |                                                 ^~~
      |                                                 |
      |                                                 __Uint64x2_t
/nix/store/rsqi0h743vzhnmsby3rvxdqbcfbq3p6q-gcc-13.3.0/lib/gcc/aarch64-unknown-linux-gnu/13.3.0/include/arm_neon.h:3004:43: note:   initializing argument 2 of 'uint8x16_t vsetq_lane_u8(uint8_t, uint8x16_t, int)'
 3004 | vsetq_lane_u8 (uint8_t __elem, uint8x16_t __vec, const int __index)
      |                                ~~~~~~~~~~~^~~~~
/build/source/plugins/hawkeye/src/sbox_database.cpp:886:72: error: could not convert '{<expression error>, vdupq_n_u64(0)}' from '<brace-enclosed initializer list>' to 'smallset_t' {aka 'uint64x2x2_t'}
  886 |                     return {vsetq_lane_u8(0xFF, tmp, 0), vdupq_n_u64(0)};
      |                                                                        ^
      |                                                                        |
      |                                                                        <brace-enclosed initializer list>

also add verilator support
@risicle risicle force-pushed the ris-hal-hardware-analyzer-4.4.1 branch from ed102d4 to 2a29ee7 Compare November 8, 2024 20:33
@risicle
Copy link
Contributor Author

risicle commented Nov 8, 2024

Good spot. Addressed and reported upstream emsec/hal#598

@khaneliman
Copy link
Contributor

nixpkgs-review result

Generated using nixpkgs-review.

Command: nixpkgs-review pr 353436


x86_64-linux

✅ 1 package built:
  • hal-hardware-analyzer

aarch64-linux

✅ 1 package built:
  • hal-hardware-analyzer

x86_64-darwin

✅ 1 package built:
  • hal-hardware-analyzer

aarch64-darwin

✅ 1 package built:
  • hal-hardware-analyzer

Copy link
Contributor

@khaneliman khaneliman left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

@risicle risicle merged commit 03987a6 into NixOS:master Nov 8, 2024
10 of 11 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants