Skip to content

Fixed 32 bit build [ci patch inc]#17

Merged
HyperWinX merged 9 commits intomasterfrom
x86_32-support
Apr 21, 2025
Merged

Fixed 32 bit build [ci patch inc]#17
HyperWinX merged 9 commits intomasterfrom
x86_32-support

Conversation

@HyperWinX
Copy link
Member

No description provided.

@mentatbot
Copy link

mentatbot bot commented Apr 20, 2025

I'm getting to work. See my steps and track my cost here.

  • Wake on any new activity.
    I always see new activity while actively working. When paused, I'll only respond when tagged unless this box is checked.

Copy link

@mentatbot mentatbot bot left a comment

Choose a reason for hiding this comment

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

Review of PR #17: Fixed 32 bit build

This is a well-structured PR that makes several key improvements to enable proper 32-bit builds. The changes fall into three main categories:

1. CMake Build System Improvements

  • Added support for 32-bit builds through the new HCPU_X86_32 option that adds the -m32 compiler flag
  • Refactored flag handling with append_compile_flags and append_link_flags helper functions
  • Centralized compiler and linker flags as global properties instead of directly using add_compile_options()
  • Properly applied flags to individual targets in src/CMakeLists.txt and test/CMakeLists.txt

2. Memory Addressing Consistency

  • Changed std::size_t to std::uint64_t for memory addresses throughout the codebase
  • Updated the memory controller interface to use std::uint64_t consistently
  • This ensures 64-bit memory addressing even when building on 32-bit systems

3. Type Safety Improvements

  • Added a new OperandContainer class that replaces unsafe void* pointers
  • The container provides type-safe access through methods like deref() and ptr()
  • Updated all instruction implementations to use this new approach
  • Fixed potential issues with pointer size differences between 32-bit and 64-bit platforms

The changes look solid and should properly fix 32-bit build support. The implementation is careful to maintain compatibility while improving type safety.

The PR can be safely merged.

@aceinetx
Copy link
Contributor

Absolute coding

@HyperWinX
Copy link
Member Author

Waht


steps:
- name: Install Docker Buildx
uses: docker/setup-buildx-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/setup-buildx-action' with ref 'v3', not a pinned commit hash
uses: docker/setup-buildx-action@v3

- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
name: "Update Gentoo Musl Docker image - stage 1"
steps:
- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
needs: build-gentoo-musl-stage1
steps:
- name: Login to DockerHub
uses: docker/login-action@v3

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/login-action' with ref 'v3', not a pinned commit hash
submodules: true

- name: Build and push
uses: docker/build-push-action@v6

Check warning

Code scanning / CodeQL

Unpinned tag for a non-immutable Action in workflow Medium

Unpinned 3rd party Action 'HyperCPU CI/CD Pipeline (update Docker images)' step
Uses Step
uses 'docker/build-push-action' with ref 'v6', not a pinned commit hash
@HyperWinX HyperWinX merged commit 523f849 into master Apr 21, 2025
12 checks passed
@HyperWinX HyperWinX deleted the x86_32-support branch May 12, 2025 17:33
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants

Comments