Build libraries with -Wall and -Werror.

This commit is contained in:
James Benton
2018-10-06 10:50:32 +01:00
parent 069e28acec
commit 857fcd8eea
7 changed files with 93 additions and 42 deletions

View File

@@ -60,7 +60,8 @@ disassemblyPrintCallback(const char* fmt, ...)
{
va_list args;
va_start(args, fmt);
sDisassemblyLength += vsprintf(sDisassemblyBuffer + sDisassemblyLength, fmt, args);
sDisassemblyLength += vsprintf(sDisassemblyBuffer + sDisassemblyLength,
fmt, args);
sDisassemblyBuffer[sDisassemblyLength] = 0;
va_end(args);
}
@@ -91,20 +92,29 @@ getStackTrace(OSContext *context)
sStackTraceBuffer[0] = 0;
stackPtr = (uint32_t *)context->gpr[1];
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength, "Address: Back Chain LR Save\n");
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength,
"Address: Back Chain LR Save\n");
for (i = 0; i < 16; ++i) {
uint32_t addr;
if (!stackPtr || (uintptr_t)stackPtr == 0x1 || (uintptr_t)stackPtr == 0xFFFFFFFF) {
if (!stackPtr ||
(uintptr_t)stackPtr == 0x1 ||
(uintptr_t)stackPtr == 0xFFFFFFFF) {
break;
}
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength, "0x%08x: 0x%08x 0x%08x", stackPtr, stackPtr[0], stackPtr[1]);
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength,
"0x%08x: 0x%08x 0x%08x",
(uintptr_t)stackPtr,
(uintptr_t)stackPtr[0],
(uintptr_t)stackPtr[1]);
addr = OSGetSymbolName(stackPtr[1], name, sizeof(name));
if (addr) {
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength, " %s+0x%x", name, stackPtr[1] - addr);
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength,
" %s+0x%x", name,
(uintptr_t)(stackPtr[1] - addr));
}
sStackTraceLength += sprintf(sStackTraceBuffer + sStackTraceLength, "\n");
@@ -139,9 +149,11 @@ getRegisters(OSContext *context)
writeRegister("--Proc%d-Core%u--------- OSContext 0x%p --------------------\n\n",
OSGetUPID(), OSGetCoreId(), context);
writeRegister("tag1 = 0x%08X (expecting 0x%08X)\n",
(uint32_t)(context->tag >> 32), (uint32_t)(OS_CONTEXT_TAG >> 32));
(uint32_t)(context->tag >> 32),
(uint32_t)(OS_CONTEXT_TAG >> 32));
writeRegister("tag2 = 0x%08X (expecting 0x%08X)\n",
(uint32_t)(context->tag & 0xFFFFFFFF), (uint32_t)(OS_CONTEXT_TAG & 0xFFFFFFFF));
(uint32_t)(context->tag & 0xFFFFFFFF),
(uint32_t)(OS_CONTEXT_TAG & 0xFFFFFFFF));
writeRegister("TBR = 0x%08X_%08X\n",
(uint32_t)(tbr >> 32), (uint32_t)(tbr & 0xFFFFFFFF));
writeRegister("CR = 0x%08X\n", context->cr);
@@ -180,7 +192,8 @@ getRegisters(OSContext *context)
writeRegister("\n--Per-core OSContext runtime ----\n");
for (i = 0; i < 3; ++i) {
writeRegister("coretime[%d] = 0x%016llX ticks, %lld second(s) elapsed\n",
i, context->coretime[i], OSTicksToSeconds(context->coretime[i]));
i, context->coretime[i],
OSTicksToSeconds(context->coretime[i]));
}
writeRegister("\n--FPRs----------\n");
@@ -250,9 +263,13 @@ handleProgram(OSContext *context)
BOOL
WHBInitCrashHandler()
{
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL, OS_EXCEPTION_TYPE_ALIGNMENT, handleAlignment);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL, OS_EXCEPTION_TYPE_DSI, handleDSI);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL, OS_EXCEPTION_TYPE_ISI, handleISI);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL, OS_EXCEPTION_TYPE_PROGRAM, handleProgram);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL,
OS_EXCEPTION_TYPE_ALIGNMENT, handleAlignment);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL,
OS_EXCEPTION_TYPE_DSI, handleDSI);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL,
OS_EXCEPTION_TYPE_ISI, handleISI);
OSSetExceptionCallbackEx(OS_EXCEPTION_MODE_GLOBAL,
OS_EXCEPTION_TYPE_PROGRAM, handleProgram);
return TRUE;
}

View File

@@ -38,7 +38,8 @@ WHBGfxLoadGFDPixelShader(uint32_t index,
shader = (GX2PixelShader *)GfxHeapAllocMEM2(headerSize, 64);
if (!shader) {
WHBLogPrintf("%s: GfxHeapAllocMEM2(%u, 64) failed", __FUNCTION__, headerSize);
WHBLogPrintf("%s: GfxHeapAllocMEM2(%u, 64) failed", __FUNCTION__,
headerSize);
goto error;
}
@@ -50,7 +51,8 @@ WHBGfxLoadGFDPixelShader(uint32_t index,
shader->gx2rBuffer.elemCount = 1;
shader->gx2rBuffer.buffer = NULL;
if (!GX2RCreateBuffer(&shader->gx2rBuffer)) {
WHBLogPrintf("%s: GX2RCreateBuffer failed with programSize = %u", __FUNCTION__, programSize);
WHBLogPrintf("%s: GX2RCreateBuffer failed with programSize = %u",
__FUNCTION__, programSize);
goto error;
}
@@ -62,7 +64,9 @@ WHBGfxLoadGFDPixelShader(uint32_t index,
if (!GFDGetPixelShader(shader, program, index, file)) {
WHBLogPrintf("%s: GFDGetPixelShader failed", __FUNCTION__);
GX2RUnlockBufferEx(&shader->gx2rBuffer, GX2R_RESOURCE_DISABLE_CPU_INVALIDATE | GX2R_RESOURCE_DISABLE_GPU_INVALIDATE);
GX2RUnlockBufferEx(&shader->gx2rBuffer,
GX2R_RESOURCE_DISABLE_CPU_INVALIDATE |
GX2R_RESOURCE_DISABLE_GPU_INVALIDATE);
goto error;
}
@@ -93,6 +97,7 @@ WHBGfxFreePixelShader(GX2PixelShader *shader)
}
GfxHeapFreeMEM2(shader);
return TRUE;
}
GX2VertexShader *
@@ -125,7 +130,8 @@ WHBGfxLoadGFDVertexShader(uint32_t index,
shader = (GX2VertexShader *)GfxHeapAllocMEM2(headerSize, 64);
if (!shader) {
WHBLogPrintf("%s: GfxHeapAllocMEM2(%u, 64) failed", __FUNCTION__, headerSize);
WHBLogPrintf("%s: GfxHeapAllocMEM2(%u, 64) failed", __FUNCTION__,
headerSize);
goto error;
}
@@ -137,7 +143,8 @@ WHBGfxLoadGFDVertexShader(uint32_t index,
shader->gx2rBuffer.elemCount = 1;
shader->gx2rBuffer.buffer = NULL;
if (!GX2RCreateBuffer(&shader->gx2rBuffer)) {
WHBLogPrintf("%s: GX2RCreateBuffer failed with programSize = %u", __FUNCTION__, programSize);
WHBLogPrintf("%s: GX2RCreateBuffer failed with programSize = %u",
__FUNCTION__, programSize);
goto error;
}
@@ -149,7 +156,9 @@ WHBGfxLoadGFDVertexShader(uint32_t index,
if (!GFDGetVertexShader(shader, program, index, file)) {
WHBLogPrintf("%s: GFDGetVertexShader failed", __FUNCTION__);
GX2RUnlockBufferEx(&shader->gx2rBuffer, GX2R_RESOURCE_DISABLE_CPU_INVALIDATE | GX2R_RESOURCE_DISABLE_GPU_INVALIDATE);
GX2RUnlockBufferEx(&shader->gx2rBuffer,
GX2R_RESOURCE_DISABLE_CPU_INVALIDATE |
GX2R_RESOURCE_DISABLE_GPU_INVALIDATE);
goto error;
}
@@ -180,6 +189,7 @@ WHBGfxFreeVertexShader(GX2VertexShader *shader)
}
GfxHeapFreeMEM2(shader);
return TRUE;
}
BOOL

View File

@@ -11,7 +11,6 @@ WHBGfxLoadGFDTexture(uint32_t index,
{
uint32_t headerSize, imageSize;
GX2Texture *texture = NULL;
void *image = NULL;
if (index >= GFDGetTextureCount(file)) {
WHBLogPrintf("%s: invalid GFD texture index %u", __FUNCTION__, index);
@@ -27,7 +26,8 @@ WHBGfxLoadGFDTexture(uint32_t index,
texture = (GX2Texture *)GfxHeapAllocMEM2(headerSize, 64);
if (!texture) {
WHBLogPrintf("%s: GfxHeapAllocMEM2(0x%X, 64) failed", __FUNCTION__, headerSize);
WHBLogPrintf("%s: GfxHeapAllocMEM2(0x%X, 64) failed", __FUNCTION__,
headerSize);
goto error;
}

View File

@@ -24,9 +24,6 @@ sRunning = FALSE;
static BOOL
sFromHBL = FALSE;
static ProcUICallback
sAcquireCallback = NULL;
static uint32_t
procSaveCallback(void *context)
{
@@ -65,7 +62,8 @@ WHBProcInit()
sMainCore = OSGetCoreId();
sRunning = TRUE;
ProcUIInitEx(&procSaveCallback, NULL);
ProcUIRegisterCallback(PROCUI_CALLBACK_HOME_BUTTON_DENIED, &procHomeButtonDenied, NULL, 100);
ProcUIRegisterCallback(PROCUI_CALLBACK_HOME_BUTTON_DENIED,
&procHomeButtonDenied, NULL, 100);
}
void