Browse Source

+ read debug sections in the wasm internal object reader

Nikolay Nikolov 1 year ago
parent
commit
9a983632f9
1 changed files with 16 additions and 0 deletions
  1. 16 0
      compiler/ogwasm.pas

+ 16 - 0
compiler/ogwasm.pas

@@ -2886,6 +2886,16 @@ implementation
               Result:=False;
               Result:=False;
             end;
             end;
 
 
+          function ReadDebugSection(const SectionName: string): Boolean;
+            var
+              ObjSec: TObjSection;
+            begin
+              ObjSec:=ObjData.createsection(SectionName,1,[oso_Data,oso_debug],false);
+              ObjSec.DataPos:=AReader.Pos;
+              ObjSec.Size:=SectionStart+SectionSize-AReader.Pos;
+              Result:=True;
+            end;
+
           const
           const
             RelocationSectionPrefix = 'reloc.';
             RelocationSectionPrefix = 'reloc.';
           var
           var
@@ -2913,6 +2923,12 @@ implementation
                   Result:=ReadProducersSection;
                   Result:=ReadProducersSection;
                 'target_features':
                 'target_features':
                   Result:=ReadTargetFeaturesSection;
                   Result:=ReadTargetFeaturesSection;
+                '.debug_abbrev',
+                '.debug_info',
+                '.debug_line',
+                '.debug_aranges',
+                '.debug_ranges':
+                  Result:=ReadDebugSection(SectionName);
                 else
                 else
                   InputError('Unsupported custom section: ''' + SectionName + '''');
                   InputError('Unsupported custom section: ''' + SectionName + '''');
               end;
               end;