Lines 546-551
Link Here
|
546 |
` .data\n`; |
546 |
` .data\n`; |
547 |
List.iter emit_item l |
547 |
List.iter emit_item l |
548 |
|
548 |
|
|
|
549 |
(* Mark stack as non executable *) |
550 |
let nx_stack() = |
551 |
if Config.system = "linux_elf" then |
552 |
` .section .note.GNU-stack,\"\",%progbits\n` |
553 |
|
554 |
|
549 |
(* Beginning / end of an assembly file *) |
555 |
(* Beginning / end of an assembly file *) |
550 |
|
556 |
|
551 |
let begin_assembly() = |
557 |
let begin_assembly() = |
Lines 574-579
Link Here
|
574 |
` .end {emit_symbol lbl_begin}\n` |
580 |
` .end {emit_symbol lbl_begin}\n` |
575 |
|
581 |
|
576 |
let end_assembly () = |
582 |
let end_assembly () = |
|
|
583 |
nx_stack(); |
577 |
let lbl_end = Compilenv.make_symbol (Some "code_end") in |
584 |
let lbl_end = Compilenv.make_symbol (Some "code_end") in |
578 |
` .text\n`; |
585 |
` .text\n`; |
579 |
` .globl {emit_symbol lbl_end}\n`; |
586 |
` .globl {emit_symbol lbl_end}\n`; |