Conversation
|
I'm getting to work. See my steps and track my cost here.
|
There was a problem hiding this comment.
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_32option that adds the-m32compiler flag - Refactored flag handling with
append_compile_flagsandappend_link_flagshelper 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_ttostd::uint64_tfor memory addresses throughout the codebase - Updated the memory controller interface to use
std::uint64_tconsistently - This ensures 64-bit memory addressing even when building on 32-bit systems
3. Type Safety Improvements
- Added a new
OperandContainerclass that replaces unsafevoid*pointers - The container provides type-safe access through methods like
deref()andptr() - 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.
|
Absolute coding |
|
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
| 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
| 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
| 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
| 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
| 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
| 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
fe8a45e to
f7d01a4
Compare
No description provided.