appease clang

This commit is contained in:
Nikita Smith
2025-03-27 15:37:27 -07:00
parent dab65d6523
commit c57b5fcd6d
6 changed files with 33 additions and 13 deletions
+6 -2
View File
@@ -46,21 +46,25 @@ dw_reg_pos_from_code_x64(DW_Reg reg_code)
}
internal U64
dw_reg_size_from_code(RDI_Arch arch, DW_Reg reg_code)
dw_reg_size_from_code(Arch arch, DW_Reg reg_code)
{
switch (arch) {
case Arch_Null: break;
case Arch_x86: return dw_reg_size_from_code_x86(reg_code);
case Arch_x64: return dw_reg_size_from_code_x64(reg_code);
default: NotImplemented; break;
}
return 0;
}
internal U64
dw_reg_pos_from_code(RDI_Arch arch, DW_Reg reg_code)
dw_reg_pos_from_code(Arch arch, DW_Reg reg_code)
{
switch (arch) {
case Arch_Null: break;
case Arch_x86: return dw_reg_pos_from_code_x86(reg_code);
case Arch_x64: return dw_reg_pos_from_code_x64(reg_code);
default: NotImplemented; break;
}
return max_U64;
}
+10 -1
View File
@@ -3,13 +3,16 @@
//- analyzers
#if 0
internal DW_SimpleLoc
dw_expr__analyze_fast(void *base, Rng1U64 range, U64 text_section_base)
{
DW_SimpleLoc result = {DW_SimpleLocKind_Empty};
String8 expr_data = str8((U8*)data+range.min, (U8*)data+range.max);
U8 op = 0;
if (dw_based_range_read(base, range, 0, 1, &op)) {
if (str8_deserial_read_struct(expr_data, 0, &op)) {
// step params
U64 size_param = 0;
B32 is_signed = 0;
@@ -548,12 +551,14 @@ dw_expr__analyze_details(void *in_base, Rng1U64 in_range, DW_ExprMachineCallConf
scratch_end(scratch);
return result;
}
#endif
//- full eval
internal DW_Location
dw_expr__eval(Arena *arena_optional, void *expr_base, Rng1U64 expr_range, DW_ExprMachineConfig *config)
{
#if 0
Temp scratch = scratch_begin(&arena_optional, 1);
DW_Location result = {0};
@@ -1322,8 +1327,12 @@ dw_expr__eval(Arena *arena_optional, void *expr_base, Rng1U64 expr_range, DW_Exp
// clear stack
scratch_end(scratch);
return result;
#endif
DW_Location result = {0};
return result;
}
//- dw expr val stack
internal DW_ExprStack
+5
View File
@@ -1,6 +1,11 @@
// Copyright (c) 2024 Epic Games Tools
// Licensed under the MIT license (https://opensource.org/license/mit/)
internal U64 dw_based_range_read(void *base, Rng1U64 range, U64 off, U64 size, void *out) { return 0; }
internal U64 dw_based_range_read_uleb128(void *base, Rng1U64 range, U64 off, U64 *out) { return 0; }
internal U64 dw_based_range_read_sleb128(void *base, Rng1U64 range, U64 off, S64 *out) { return 0; }
internal U64 dw_based_range_read_length(void *base, Rng1U64 range, U64 off, U64 *out) { return 0; }
////////////////////////////////
// x64 Unwind Function
+6 -6
View File
@@ -82,10 +82,10 @@ elf_sym64_from_sym32(ELF_Sym32 sym32)
internal ELF_Rel64
elf_rel64_from_rel32(ELF_Rel32 rel32)
{
U32 sym = SYMS_ELF32_R_SYM(rel32.r_info);
U32 type = SYMS_ELF32_R_TYPE(rel32.r_info);
U32 sym = ELF32_R_SYM(rel32.r_info);
U32 type = ELF32_R_TYPE(rel32.r_info);
ELF_Rel64 rel64 = {0};
rel64.r_info = SYMS_ELF64_R_INFO(sym, type);
rel64.r_info = ELF64_R_INFO(sym, type);
rel64.r_offset = rel32.r_offset;
return rel64;
}
@@ -93,11 +93,11 @@ elf_rel64_from_rel32(ELF_Rel32 rel32)
internal ELF_Rela64
elf_rela64_from_rela32(ELF_Rela32 rela32)
{
U32 sym = SYMS_ELF32_R_SYM(rela32.r_info);
U32 type = SYMS_ELF32_R_TYPE(rela32.r_info);
U32 sym = ELF32_R_SYM(rela32.r_info);
U32 type = ELF32_R_TYPE(rela32.r_info);
ELF_Rela64 rela64 = {0};
rela64.r_offset = rela32.r_info;
rela64.r_info = SYMS_ELF64_R_INFO(sym, type);
rela64.r_info = ELF64_R_INFO(sym, type);
rela64.r_addend = rela32.r_addend;
return rela64;
}
+5 -4
View File
@@ -172,12 +172,15 @@ rc_context_from_cmd_line(Arena *arena, CmdLine *cmdl)
String8 debug_name = {0};
String8 debug_data = {0};
B32 check_guid = 0;
Guid pe_pdb_guid = {0};
B32 elf_has_debug_link = 0;
ELF_GnuDebugLink debug_link = {0};
//
// Input has PE/COFF
//
B32 check_guid = 0;
Guid pe_pdb_guid = {0};
if (is_pe_present) {
image = Image_CoffPe;
image_name = pe_name;
@@ -221,8 +224,6 @@ rc_context_from_cmd_line(Arena *arena, CmdLine *cmdl)
}
}
B32 elf_has_debug_link = 0;
ELF_GnuDebugLink debug_link = {0};
if (is_elf_present || is_elf_debug_present) {
if (driver != RC_Driver_Null && driver != RC_Driver_Dwarf) {
fprintf(stderr, "error: ELF inputs are only supported when using DWARF driver.\n");
+1
View File
@@ -14,6 +14,7 @@
#include "third_party/xxHash/xxhash.h"
#define SINFL_IMPLEMENTATION
#include "third_party/sinfl/sinfl.h"
#include "third_party/radsort/radsort.h"
////////////////////////////////
// RDI Format Library