From e962ac379c50509b64f04cbfaeb2e743c7ab64b3 Mon Sep 17 00:00:00 2001 From: Eduard Urbach Date: Mon, 3 Feb 2025 14:23:23 +0100 Subject: [PATCH] Fixed incorrect section offsets on Windows --- src/asm/Finalize.go | 5 +++++ src/asm/resolvePointers.go | 4 ---- 2 files changed, 5 insertions(+), 4 deletions(-) diff --git a/src/asm/Finalize.go b/src/asm/Finalize.go index f5393b5..0915e6b 100644 --- a/src/asm/Finalize.go +++ b/src/asm/Finalize.go @@ -351,6 +351,11 @@ func (a Assembler) Finalize(dlls dll.List) ([]byte, []byte) { } data, dataLabels = a.Data.Finalize() + + if config.TargetOS == config.Windows && len(data) == 0 { + data = []byte{0} + } + code = a.resolvePointers(code, data, codeStart, codeLabels, codePointers, dataPointers, dllPointers) return code, data } diff --git a/src/asm/resolvePointers.go b/src/asm/resolvePointers.go index 58ef114..40ecbb9 100644 --- a/src/asm/resolvePointers.go +++ b/src/asm/resolvePointers.go @@ -86,10 +86,6 @@ restart: } if config.TargetOS == config.Windows { - if len(data) == 0 { - data = []byte{0} - } - importsStart, _ := fs.Align(dataStart+Address(len(data)), config.Align) for _, pointer := range dllPointers {