RicardasSim

c2nasm gcc optimization compare with debug flag

Nov 9th, 2018
571
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.07 KB | None | 0 0
  1. ----------
  2. C
  3. ----------
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. int main(){
  9.  
  10. #define ARR_ELL_COUNT 0
  11. const char *pTest[] = {0};
  12.  
  13. #if ARR_ELL_COUNT > 0
  14. printf("%s\n", pTest[0]);
  15. #endif
  16.  
  17. return 0;
  18. }
  19.  
  20. ----------------
  21. c2nasm
  22. gcc(7.3.0)
  23. gcc -m64 -O3 -g
  24. ----------------
  25.  
  26. default rel
  27.  
  28. global main
  29.  
  30. SECTION .text
  31.  
  32. SECTION .data
  33.  
  34. SECTION .bss
  35.  
  36. SECTION .text.startup
  37.  
  38. main:
  39. xor eax, eax
  40. ret
  41.  
  42. ----------------
  43. c2nasm
  44. gcc(7.3.0)
  45. gcc -m64 -O0 -g
  46. ----------------
  47.  
  48. default rel
  49.  
  50. global main
  51.  
  52. extern __stack_chk_fail
  53. extern _GLOBAL_OFFSET_TABLE_
  54.  
  55. SECTION .text
  56.  
  57. main:
  58. push rbp
  59. mov rbp, rsp
  60. sub rsp, 16
  61.  
  62. mov rax, qword [fs:abs 28H]
  63. mov qword [rbp-8H], rax
  64. xor eax, eax
  65. mov qword [rbp-10H], 0
  66. mov eax, 0
  67. mov rdx, qword [rbp-8H]
  68.  
  69. xor rdx, qword [fs:abs 28H]
  70. jz L_001
  71. call __stack_chk_fail
  72. L_001: leave
  73. ret
  74.  
  75. SECTION .data
  76.  
  77. SECTION .bss
Advertisement
Add Comment
Please, Sign In to add comment