diff --git a/Ghidra/Features/GnuDemangler/ghidra_scripts/VxWorksSymTab_Finder.java b/Ghidra/Features/GnuDemangler/ghidra_scripts/VxWorksSymTab_Finder.java index 9988dfc075..094e14e15b 100644 --- a/Ghidra/Features/GnuDemangler/ghidra_scripts/VxWorksSymTab_Finder.java +++ b/Ghidra/Features/GnuDemangler/ghidra_scripts/VxWorksSymTab_Finder.java @@ -4,9 +4,9 @@ * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at - * + * * http://www.apache.org/licenses/LICENSE-2.0 - * + * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. @@ -464,17 +464,17 @@ public class VxWorksSymTab_Finder extends GhidraScript { private boolean isValidSymType(byte symType) { switch (symType) { - case 0: // Undefined Symbol + case 0: // Undefined Symbol return false; - case 2: // Local Absolute - case 3: // Global Absolute - case 6: // Local Data - case 7: // Global Data - case 8: // Local BSS - case 9: // Global BSS - case 4: // Local .text - case 5: // Global .text - case 0x11: // External ref -- ignore + case 2: // Local Absolute + case 3: // Global Absolute + case 6: // Local Data + case 7: // Global Data + case 8: // Local BSS + case 9: // Global BSS + case 4: // Local .text + case 5: // Global .text + case 0x11: // External ref return true; default: return false; @@ -815,18 +815,21 @@ public class VxWorksSymTab_Finder extends GhidraScript { println("NULL symType!"); break; - case 2: // Local Absolute - case 3: // Global Absolute - case 6: // Local Data - case 7: // Global Data - case 8: // Local BSS - case 9: // Global BSS + case 2: // Local Absolute + case 3: // Global Absolute + case 6: // Local Data + case 7: // Global Data + case 8: // Local BSS + case 9: // Global BSS + case 0x11: // External ref + createLabel(symLoc, symName, true); applyDemangled(symLoc, symName, symDemangledName); break; case 4: // Local .text case 5: // Global .text + doLocalDisassemble(symLoc); createFunction(symLoc, symName); if (getFunctionAt(symLoc) != null) { @@ -840,11 +843,8 @@ public class VxWorksSymTab_Finder extends GhidraScript { } break; - case 0x11: // External ref -- ignore - break; - default: - println("Invalid symType!"); + println("Invalid symType " + symType + " !"); break; } }