[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native
From: |
Cyril Arnould |
Subject: |
bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation |
Date: |
Wed, 15 May 2024 18:35:54 +0200 |
User-agent: |
Mozilla Thunderbird |
> Mmmh 🧐, must say it does not make much sense to me. Are we sure these
> results are reliably reproducible and we are not looking at some
> statistic fluctuation of a non very reproducible issue?
I understand your scepticism. However, I've ran every build 2-4 times,
and so far my reproducibility is at 100%. As in; with the same
configuration the build (as a whole) either always fails or is always
successful. It does seem random however which of the byte-compile
steps fail in the end. Maybe the -fno-optimize-sibling-calls just
makes the failure much more unlikely.
> Anyway if marking 'mark_threads' with
> __attribute__((optimize("no-optimize-sibling-calls"))) solves the issue
> in a stable way I think we should compare the assembly output of the two
> functions.
I've attached the corresponding objdump -S -d (including the original
.o files). This time I've modified thread.c so that 'mark_threads'
comes dead last. I ran the builds another 4 times each to make
sure. Moving the function in the source also moves it to the end of
the dumps, makes for easier diffing:
diff -ubBw thread.txt thread-attr-no-optimize-sibling-calls.txt
--- thread.txt 2024-05-15 17:59:49.003434900 +0200
+++ thread-attr-no-optimize-sibling-calls.txt 2024-05-15
17:38:35.029292300 +0200
@@ -1,5 +1,5 @@
-../thread-last.o: file format pe-x86-64
+../thread-attr-last.o: file format pe-x86-64
Disassembly of section .text:
@@ -2305,6 +2305,7 @@
00000000000017d0 <mark_threads>:
+__attribute__((optimize("no-optimize-sibling-calls")))
void
mark_threads (void)
{
@@ -2316,50 +2317,49 @@
17d9: 57 push %rdi
17da: 56 push %rsi
17db: 53 push %rbx
- 17dc: 48 81 ec a8 00 00 00 sub $0xa8,%rsp
- 17e3: 48 8d 2c 24 lea (%rsp),%rbp
- 17e7: 0f 11 75 00 movups %xmm6,0x0(%rbp)
- 17eb: 0f 11 7d 10 movups %xmm7,0x10(%rbp)
- 17ef: 44 0f 11 45 20 movups %xmm8,0x20(%rbp)
- 17f4: 44 0f 11 4d 30 movups %xmm9,0x30(%rbp)
- 17f9: 44 0f 11 55 40 movups %xmm10,0x40(%rbp)
- 17fe: 44 0f 11 5d 50 movups %xmm11,0x50(%rbp)
- 1803: 44 0f 11 65 60 movups %xmm12,0x60(%rbp)
- 1808: 44 0f 11 6d 70 movups %xmm13,0x70(%rbp)
- 180d: 44 0f 11 b5 80 00 00 movups %xmm14,0x80(%rbp)
- 1814: 00
- 1815: 44 0f 11 bd 90 00 00 movups %xmm15,0x90(%rbp)
- 181c: 00
+ 17dc: 48 81 ec c8 00 00 00 sub $0xc8,%rsp
+ 17e3: 48 8d 6c 24 20 lea 0x20(%rsp),%rbp
+ 17e8: 0f 11 75 00 movups %xmm6,0x0(%rbp)
+ 17ec: 0f 11 7d 10 movups %xmm7,0x10(%rbp)
+ 17f0: 44 0f 11 45 20 movups %xmm8,0x20(%rbp)
+ 17f5: 44 0f 11 4d 30 movups %xmm9,0x30(%rbp)
+ 17fa: 44 0f 11 55 40 movups %xmm10,0x40(%rbp)
+ 17ff: 44 0f 11 5d 50 movups %xmm11,0x50(%rbp)
+ 1804: 44 0f 11 65 60 movups %xmm12,0x60(%rbp)
+ 1809: 44 0f 11 6d 70 movups %xmm13,0x70(%rbp)
+ 180e: 44 0f 11 b5 80 00 00 movups %xmm14,0x80(%rbp)
+ 1815: 00
+ 1816: 44 0f 11 bd 90 00 00 movups %xmm15,0x90(%rbp)
+ 181d: 00
flush_stack_call_func1 (func, arg);
- 181d: 31 d2 xor %edx,%edx
- 181f: 48 8d 0d da eb ff ff lea -0x1426(%rip),%rcx #
400 <mark_threads_callback>
+ 181e: 31 d2 xor %edx,%edx
+ 1820: 48 8d 0d d9 eb ff ff lea -0x1427(%rip),%rcx #
400 <mark_threads_callback>
+ 1827: e8 00 00 00 00 call 182c <mark_threads+0x5c>
+ 182c: 90 nop
flush_stack_call_func (mark_threads_callback, NULL);
}
- 1826: 0f 10 75 00 movups 0x0(%rbp),%xmm6
- 182a: 0f 10 7d 10 movups 0x10(%rbp),%xmm7
- 182e: 44 0f 10 45 20 movups 0x20(%rbp),%xmm8
- 1833: 44 0f 10 4d 30 movups 0x30(%rbp),%xmm9
- 1838: 44 0f 10 55 40 movups 0x40(%rbp),%xmm10
- 183d: 44 0f 10 5d 50 movups 0x50(%rbp),%xmm11
- 1842: 44 0f 10 65 60 movups 0x60(%rbp),%xmm12
- 1847: 44 0f 10 6d 70 movups 0x70(%rbp),%xmm13
- 184c: 44 0f 10 b5 80 00 00 movups 0x80(%rbp),%xmm14
- 1853: 00
- 1854: 44 0f 10 bd 90 00 00 movups 0x90(%rbp),%xmm15
- 185b: 00
- 185c: 48 81 c4 a8 00 00 00 add $0xa8,%rsp
- 1863: 5b pop %rbx
- 1864: 5e pop %rsi
- 1865: 5f pop %rdi
- 1866: 41 5c pop %r12
- 1868: 41 5d pop %r13
- 186a: 41 5e pop %r14
- 186c: 41 5f pop %r15
- 186e: 5d pop %rbp
- 186f: e9 00 00 00 00 jmp 1874 <mark_threads+0xa4>
- 1874: 90 nop
- 1875: 90 nop
- 1876: 90 nop
+ 182d: 0f 10 75 00 movups 0x0(%rbp),%xmm6
+ 1831: 0f 10 7d 10 movups 0x10(%rbp),%xmm7
+ 1835: 44 0f 10 45 20 movups 0x20(%rbp),%xmm8
+ 183a: 44 0f 10 4d 30 movups 0x30(%rbp),%xmm9
+ 183f: 44 0f 10 55 40 movups 0x40(%rbp),%xmm10
+ 1844: 44 0f 10 5d 50 movups 0x50(%rbp),%xmm11
+ 1849: 44 0f 10 65 60 movups 0x60(%rbp),%xmm12
+ 184e: 44 0f 10 6d 70 movups 0x70(%rbp),%xmm13
+ 1853: 44 0f 10 b5 80 00 00 movups 0x80(%rbp),%xmm14
+ 185a: 00
+ 185b: 44 0f 10 bd 90 00 00 movups 0x90(%rbp),%xmm15
+ 1862: 00
+ 1863: 48 81 c4 c8 00 00 00 add $0xc8,%rsp
+ 186a: 5b pop %rbx
+ 186b: 5e pop %rsi
+ 186c: 5f pop %rdi
+ 186d: 41 5c pop %r12
+ 186f: 41 5d pop %r13
+ 1871: 41 5e pop %r14
+ 1873: 41 5f pop %r15
+ 1875: 5d pop %rbp
+ 1876: c3 ret
1877: 90 nop
1878: 90 nop
1879: 90 nop
objdump.tar.gz
Description: GNU Zip compressed data
- bug#63365: 30.0.50; GCC 13.1 breaks building Emacs with native-compilation, Cyril Arnould, 2024/05/14
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/14
- bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Cyril Arnould, 2024/05/14
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/15
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation,
Cyril Arnould <=
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/15
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Cyril Arnould, 2024/05/15
- bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/16
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Cyril Arnould, 2024/05/16
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/17
- bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/17
- bug#65727: bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Eli Zaretskii, 2024/05/17
- bug#65727: bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/17
- bug#63365: bug#65727: bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Andrea Corallo, 2024/05/18
- bug#63365: bug#65727: bug#63365: bug#65727: 30.0.50; Build failure in MSYS2 when --with-native-compilation, Cyril Arnould, 2024/05/18