From 3b37ca14220032be0daf3bcbf173688117d8eb1e Mon Sep 17 00:00:00 2001 From: ghizard <50744617+ghizard@users.noreply.github.com> Date: Wed, 9 Apr 2025 06:00:38 -0400 Subject: [PATCH] GP-5576 - PDB set vxtable alignment and packing --- .../java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java | 2 ++ .../ghidra/app/util/pdb/classtype/VirtualFunctionTable.java | 2 ++ 2 files changed, 4 insertions(+) diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java index b024dda0e3..68b8e2cc26 100644 --- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java +++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualBaseTable.java @@ -262,6 +262,8 @@ public abstract class VirtualBaseTable implements VBTable { dt.add(defaultEntry, "", ""); masterOrdinal++; } + dt.align(defaultEntry.getAlignedLength()); + dt.setToDefaultPacking(); tableStructure = (Structure) dtm.resolve(dt, null); //System.out.println(tableStructure.toString()); isBuilt = true; diff --git a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualFunctionTable.java b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualFunctionTable.java index 949ec9d2f1..27c0a81f48 100644 --- a/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualFunctionTable.java +++ b/Ghidra/Features/PDB/src/main/java/ghidra/app/util/pdb/classtype/VirtualFunctionTable.java @@ -224,6 +224,8 @@ public abstract class VirtualFunctionTable implements VFTable { dt.add(tableEntry.getFunctionPointer(), tableEntry.getOverridePath().toString(), ""); masterOffset += entrySize; } + dt.align(defaultEntry.getAlignedLength()); + dt.setToDefaultPacking(); tableStructure = (Structure) dtm.resolve(dt, null); //System.out.println(tableStructure.toString()); isBuilt = true;