Skip to content

Commit 04ad02f

Browse files
authored
Merge pull request #1692 from copumpkin/fix-platform-check
2 parents 1965003 + 52a7687 commit 04ad02f

File tree

1 file changed

+7
-1
lines changed

1 file changed

+7
-1
lines changed

CoreFoundation/Base.subproj/CFAsmMacros.h

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,8 +14,14 @@
1414
#define CONCAT_EXPANDED(a,b) CONCAT(a,b)
1515
#define _C_LABEL(name) CONCAT_EXPANDED(__USER_LABEL_PREFIX__,name)
1616

17-
#if defined(__GNU__) || defined(__GNUC__) || defined(__ANDROID__) || defined(__FreeBSD__)
17+
/* Use .note.GNU-stack to explicitly indicate a non-exec stack, b/c of bad */
18+
/* default behaviour when translating handwritten assembly files (needed on */
19+
/* GNU/* platforms, Android and FreeBSD, as tests have shown). */
20+
/* Platform tests are documented at http://git.savannah.gnu.org/gitweb/?p=libffcall.git;a=blob;f=porting-tools/execstack/README */
21+
#if (defined(__GNUC__) || defined (__llvm__) || defined (__clang__)) && defined(__ELF__) && (defined (__linux__) || defined (__linux) || defined (__gnu_linux__) || defined(__FreeBSD__) || defined (__FreeBSD_kernel__))
1822
#define NO_EXEC_STACK_DIRECTIVE .section .note.GNU-stack,"",%progbits
23+
#elsif defined(__SUNPRO_C) && defined(__linux__)
24+
#define NO_EXEC_STACK_DIRECTIVE .section ".note.GNU-stack"
1925
#else
2026
#define NO_EXEC_STACK_DIRECTIVE
2127
#endif

0 commit comments

Comments
 (0)