Skip to content

Merge upstream libwdi and align Windows ARM/ARM64 support paths - #1

Draft
DanTheMan827 with Copilot wants to merge 73 commits into
masterfrom
copilot/merge-upstream-changes
Draft

Merge upstream libwdi and align Windows ARM/ARM64 support paths#1
DanTheMan827 with Copilot wants to merge 73 commits into
masterfrom
copilot/merge-upstream-changes

Conversation

Copilot AI commented Jun 8, 2026

Copy link
Copy Markdown

This PR pulls in the latest upstream changes from pbatard/libwdi and updates this branch to the current project state. It also ensures ARM support is present in the merged codebase and build configuration while preserving compilation/installation compatibility expectations from the task.

  • Upstream sync

    • Merged upstream/master into copilot/merge-upstream-changes.
    • Brought in upstream updates across core library code, solution/project files, examples, and CI workflow definitions.
  • ARM/ARM64 support inclusion

    • Includes upstream ARM/ARM64 architecture handling in core logic (libwdi/libwdi.c).
    • Includes ARM64 installer project and solution wiring (libwdi/.msvc/installer_arm64.vcxproj, libwdi.sln), so ARM64 artifacts are represented in the MSVC graph.
  • Workflow security hardening (post-merge)

    • Added explicit least-privilege permissions blocks to GitHub Actions workflows introduced/updated by the merge (coverity.yml, mingw.yml, vs2022.yml).

Example (architecture mapping now present in merged core code):

#elif defined(_M_ARM64)
    return IMAGE_FILE_MACHINE_ARM64;
#elif defined(_M_ARM)
    return IMAGE_FILE_MACHINE_ARM;

karelbilek and others added 30 commits September 29, 2018 19:36
* Also improve display of wdi-simple options
* Closes pbatard#140
* Cannot rely on the server to provide text/plain MIME for .ver files so remove the check
* Also improve error reporting in installer due to unsigned CAT files
* Also update VS2019 PlatformToolSet to latest and fix amend script.
* Update copyrights
* Also update AppVeyor build image to VS2019
* Also remove wdk_build.cmd
* Also ensure that system errors are reported in English
There is a small typo in libwdi/libwdi_dlg.c.

Should read `otherwise` rather than `othwerwise`.
docs: fix simple typo, othwerwise -> otherwise
* This *MIGHT* help with pbatard#168, pbatard#208 and similar issues. However, the root of the corruption
  appears to be with Windows' internal PKI behaviour.
* Also alter the user cancellation error message, since, despite Microsoft's documentation at:
  https://docs.microsoft.com/en-us/windows/win32/api/shellapi/nf-shellapi-shellexecuteexw
  ShellExecuteExW() can return ERROR_CANCELLED without any user interaction.
* These redistributables have not changed since Windows 8 (since Windows 10
  doesn't actually need them) and Microsoft has finally started making them
  as standalone at: https://go.microsoft.com/fwlink/p/?LinkID=253170.
* Switch our default WDK location to the default install location of the
  redistributable MSI.
* Also improve CI support files download
* Also improve other CI scripts and remove coverity.cmd file
* These were used to build using older version of the WDK and are no longer useful.
* Zadic and wdi-simple have too much overlap and keeping both is liability to maintain.
pbatard and others added 23 commits February 23, 2023 18:41
* When building a shared library, libtool prouces _rc.lo instead of _rc.o => Call windres directly.
* Addresses part of pbatard#274.
* Also fix sed's mishandling of CRLFs...
* Duplicate the Windows version lookup since we don't want to export the API.
* Addresses part of pbatard#274.
* This is done to avoid symbol collision with other libraries.
* Closes pbatard#274.
* And also update AUTHORS to latest.
* Requires x86 emulation on the ARM64 platform since we are not compiling
  native libraries or examples (only the internal installer is native).
* Only WinUSB and USBSer drivers are supported.
* Addresses pbatard#155.
* Also fix some whitespace issues.
* Also fix static analysis warnings
* Also synchronize safe and UTF-8 calls with what Rufus uses.
…te DLL entry

* The reuse flag is meant to apply to the preceding file, and should
  be for the DLL and not the .exe.
* Update libusb-win32 URL to latest
* Fixes side-loading vulnerabilities reported by Sahil Shah.
* Also force reproducible builds (/BREPRO) while we're at it.
* Also fix copyright sign mangling in the .rc and apply other housekeeping.
Copilot AI requested a review from DanTheMan827 June 8, 2026 15:04
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.