You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

GCC_ISSUES 1.6KB

123456789101112131415161718192021222324252627282930313233343536373839
  1. # The Problem
  2. gcc sometimes generates slightly different code with the same semantics.
  3. ## Optimizations
  4. The following optimizer flags reduce non-determinism when compiling wxWidgets:
  5. -fno-tree-loop-optimize
  6. -fno-trapping-math
  7. -fno-tree-reassoc
  8. ## Left Over
  9. Even with the above flags, the compiler still generates this difference in one out of 100 builds of wxWidgets:
  10. monolib_property.o: elf64-elf_x86_64
  11. aef7: 00
  12. aef8: 45 31 f6 xor %r14d,%r14d
  13. aefb: 48 8d 84 24 50 06 00 00 lea 0x650(%rsp),%rax
  14. - af03: c6 44 24 67 00 movb $0x0,0x67(%rsp)
  15. - af08: 48 83 c2 10 add $0x10,%rdx
  16. - af0c: 48 83 c1 10 add $0x10,%rcx
  17. - af10: 48 81 7c 24 08 ff ff ff cmpq $0xffffff,0x8(%rsp)
  18. - af18: 00
  19. - af19: c6 44 24 47 00 movb $0x0,0x47(%rsp)
  20. - af1e: c7 44 24 24 00 00 00 00 movl $0x0,0x24(%rsp)
  21. + af03: c7 44 24 24 00 00 00 00 movl $0x0,0x24(%rsp)
  22. + af0b: 48 83 c2 10 add $0x10,%rdx
  23. + af0f: 48 83 c1 10 add $0x10,%rcx
  24. + af13: 48 81 7c 24 08 ff ff ff cmpq $0xffffff,0x8(%rsp)
  25. + af1b: 00
  26. + af1c: c6 44 24 47 00 movb $0x0,0x47(%rsp)
  27. + af21: c6 44 24 67 00 movb $0x0,0x67(%rsp)
  28. af26: 4c 8d bc 24 28 03 00 00 lea 0x328(%rsp),%r15
  29. af2e: 48 89 44 24 10 mov %rax,0x10(%rsp)
  30. af33: 48 89 54 24 78 mov %rdx,0x78(%rsp)