# Build Validation 001 — MinGW

## Command

```text
C:\msys64\mingw64\bin\mingw32-make.exe all
```

## Result for semantic merge v1

The build successfully compiled:

- `src/common/crypto/rc4.c`
- `src/common/crypto/sha1.c`
- `src/common/scsi/utils.c`

It then failed while compiling `src/common/xbox/unlock.c`.

## Root Cause

`AuthenticateXboxMedia_Partial()` called the private `LogHexDump()` helper before
that static helper had been declared.

Under MinGW C99 this produced:

- an implicit declaration;
- a later conflicting type warning;
- a fatal conflict between the implicit non-static declaration and the later
  static definition.

## Corrective Action

Semantic merge v2 adds a private forward declaration before first use.

The same revision also cleans up two MinGW warnings:

- guards the MSVC-only `#pragma comment(lib, "advapi32.lib")`;
- formats the `DWORD` CRC32 value with a matching type and format.

## Current State

- v1 MinGW build: **failed**
- v2 source fix: **complete**
- v2 static regression checks: **passed**
- fresh v2 MinGW build: **pending**
- MSVC build: **pending**
- real-hardware validation: **pending**
