Skip to content

Conversation

@hnanoto
Copy link
Contributor

@hnanoto hnanoto commented Jan 10, 2026

This PR updates the internal OpenCore engine and fixes several build issues to ensure compatibility with modern toolchains (GCC 15) and upcoming macOS versions (Sequoia/Tahoe).

🚀 Key Changes

1. OpenCore Engine Update

  • Submodule Update: Bumped OpenCorePkg submodule to the latest Acidanthera master (upstream). This pulls in critical fixes and definitions required for macOS 15+.
  • New Quirks Support:
    • DisableIoMapperMapping (Kernel Quirk): Added support for better VT-d/IOMMU handling.
    • ResizeGpuBars (UEFI Quirk): Added support for resizing GPU BARs independently of Apple's logic, improving firmware compliance.

2. Build System Fixes (GCC 15 Compatibility)

  • tools_def.template: Removed the unsupported -Wno-incompatible-ms-struct flag from GCC definitions. This flag is Clang-specific and caused build failures with stricter GCC versions (e.g., GCC 15.2).
  • Config_Quirks.h: Fixed a flexible array member error by explicitly defining the array size (m_fields[38]). The compiler was rejecting the auto-sized array initialization within the class structure.
  • TagDict.h: Replaced the undefined NOP; macro with standard (void)0; to resolve "identifier not found" errors during compilation.
  • Clover.dsc: Optimized linkage to use the standard OcMainLib.inf.

✅ Verification

  • Build Status: Successfully compiled CloverX64.efi using the GCC152 toolchain on macOS.
  • CI/CD: Validated via GitHub Actions (clean build).
  • Runtime: Verified boot functionality on macOS Sequoia (15.x).

This update is essential for keeping Clover compatible with current development environments and the latest macOS releases.

Henrique added 6 commits January 9, 2026 18:24
- Added DisableIoMapperMapping (Kernel Quirk) for better WiFi/Ethernet mapping.
- Added ResizeGpuBars (UEFI Quirk) distinct from ResizeAppleGpuBars for better GPU compatibility.
- Enabled automatic generation of release notes in GitHub Actions.
1. Removed unsupported '-Wno-incompatible-ms-struct' flag from GCC definitions in tools_def.template.

2. Fixed 'too many initializers' error in Config_Quirks.h by using auto-sized array for m_fields.
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.

1 participant