[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