[Nasm-bugs] [Bug 3392692] New: .pdata section appears to be over-aligned
noreply-nasm at dev.nasm.us
noreply-nasm at dev.nasm.us
Mon Jul 6 13:50:57 PDT 2020
https://bugzilla.nasm.us/show_bug.cgi?id=3392692
Bug ID: 3392692
Summary: .pdata section appears to be over-aligned
Product: NASM
Version: 2.15 (development)
Hardware: All
OS: All
Status: OPEN
Severity: normal
Priority: Medium
Component: Assembler
Assignee: nobody at nasm.us
Reporter: dalecurtis at chromium.org
CC: chang.seok.bae at intel.com, gorcunov at gmail.com,
hpa at zytor.com, nasm-bugs at nasm.us
Obtained from: Build from source archive using configure
The over alignment causes lld-link to crash - possibly due to causing holes in
the .pdata section:
https://bugs.chromium.org/p/chromium/issues/detail?id=1101577#c4
>From hans@:
Looking at what object files changed before and after the nasm roll:
-2b211b8f36aec69744cdf0149d23ed1d7ed9d0f5
./obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o
< ... >
Looking at the first one:
$ diff -u <( cd out/release.good && objdump -x
./obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o ) <( cd
out/release.bad && objdump -x
./obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o )
--- /dev/fd/63 2020-07-02 18:22:50.560899141 +0200
+++ /dev/fd/62 2020-07-02 18:22:50.564899099 +0200
@@ -79,7 +79,7 @@
Idx Name Size VMA LMA File off Algn
0 .text 00000fe5 0000000000000000 0000000000000000 0000008c 2**6
CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
- 1 .pdata 00000018 0000000000000000 0000000000000000 0000107b 2**2
+ 1 .pdata 00000018 0000000000000000 0000000000000000 0000107b 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
2 .xdata 00000020 0000000000000000 0000000000000000 000010cf 2**3
CONTENTS, ALLOC, LOAD, RELOC, READONLY, DATA
The diff looks the same in the other files listed above.
The source
(third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm) looks
like below, so it's a bit surprising that the alignment increased to 8:
section .pdata rdata align=4
ALIGN 4
DD $L$SEH_begin_aesni_gcm_decrypt wrt ..imagebase
DD $L$SEH_end_aesni_gcm_decrypt wrt ..imagebase
DD $L$SEH_gcm_dec_info wrt ..imagebase
DD $L$SEH_begin_aesni_gcm_encrypt wrt ..imagebase
DD $L$SEH_end_aesni_gcm_encrypt wrt ..imagebase
DD $L$SEH_gcm_enc_info wrt ..imagebase
The file can be found here:
https://source.chromium.org/chromium/chromium/src/+/master:third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm
The command line used to compile is:
nasm.exe -fwin64 -I./ -I../../ -Igen/ -MD
obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o.d -o
obj/third_party/boringssl/boringssl_asm/aesni-gcm-x86_64.o
../../third_party/boringssl/win-x86_64/crypto/fipsmodule/aesni-gcm-x86_64.asm
--
You are receiving this mail because:
You are on the CC list for the bug.
You are watching all bug changes.
More information about the Nasm-bugs
mailing list