Lines 66-71
Link Here
|
66 |
%endif |
66 |
%endif |
67 |
%endif |
67 |
%endif |
68 |
|
68 |
|
|
|
69 |
%define FORMAT_ELF 0 |
70 |
%ifidn __OUTPUT_FORMAT__,elf |
71 |
%define FORMAT_ELF 1 |
72 |
%elifidn __OUTPUT_FORMAT__,elf32 |
73 |
%define FORMAT_ELF 1 |
74 |
%elifidn __OUTPUT_FORMAT__,elf64 |
75 |
%define FORMAT_ELF 1 |
76 |
%endif |
77 |
|
69 |
%ifdef PREFIX |
78 |
%ifdef PREFIX |
70 |
%define mangle(x) _ %+ x |
79 |
%define mangle(x) _ %+ x |
71 |
%else |
80 |
%else |
Lines 685-691
Link Here
|
685 |
CAT_XDEFINE cglobaled_, %2, 1 |
694 |
CAT_XDEFINE cglobaled_, %2, 1 |
686 |
%endif |
695 |
%endif |
687 |
%xdefine current_function %2 |
696 |
%xdefine current_function %2 |
688 |
%ifidn __OUTPUT_FORMAT__,elf |
697 |
%if FORMAT_ELF |
689 |
global %2:function %%VISIBILITY |
698 |
global %2:function %%VISIBILITY |
690 |
%else |
699 |
%else |
691 |
global %2 |
700 |
global %2 |
Lines 718-724
Link Here
|
718 |
|
727 |
|
719 |
%macro const 1-2+ |
728 |
%macro const 1-2+ |
720 |
%xdefine %1 mangle(private_prefix %+ _ %+ %1) |
729 |
%xdefine %1 mangle(private_prefix %+ _ %+ %1) |
721 |
%ifidn __OUTPUT_FORMAT__,elf |
730 |
%if FORMAT_ELF |
722 |
global %1:data hidden |
731 |
global %1:data hidden |
723 |
%else |
732 |
%else |
724 |
global %1 |
733 |
global %1 |
Lines 729-735
Link Here
|
729 |
|
738 |
|
730 |
; This is needed for ELF, otherwise the GNU linker assumes the stack is |
739 |
; This is needed for ELF, otherwise the GNU linker assumes the stack is |
731 |
; executable by default. |
740 |
; executable by default. |
732 |
%ifidn __OUTPUT_FORMAT__,elf |
741 |
%if FORMAT_ELF |
733 |
[SECTION .note.GNU-stack noalloc noexec nowrite progbits] |
742 |
[SECTION .note.GNU-stack noalloc noexec nowrite progbits] |
734 |
%endif |
743 |
%endif |
735 |
|
744 |
|