[libunwind] r277868 - unwind: disable executable stacks

Saleem Abdulrasool via cfe-commits cfe-commits at lists.llvm.org
Fri Aug 5 14:46:05 PDT 2016


On Fri, Aug 5, 2016 at 2:35 PM, Saleem Abdulrasool via cfe-commits <
cfe-commits at lists.llvm.org> wrote:

> Author: compnerd
> Date: Fri Aug  5 16:35:28 2016
> New Revision: 277868
>
> URL: http://llvm.org/viewvc/llvm-project?rev=277868&view=rev
> Log:
> unwind: disable executable stacks
>
> Similar to compiler-rt, ensure that we disable executable stacks for the
> custom
> assembly.
>

Hi Hans,

I think that we should get this merged into 3.9.


>
> Modified:
>     libunwind/trunk/src/UnwindRegistersRestore.S
>     libunwind/trunk/src/UnwindRegistersSave.S
>     libunwind/trunk/src/assembly.h
>
> Modified: libunwind/trunk/src/UnwindRegistersRestore.S
> URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/
> UnwindRegistersRestore.S?rev=277868&r1=277867&r2=277868&view=diff
> ============================================================
> ==================
> --- libunwind/trunk/src/UnwindRegistersRestore.S (original)
> +++ libunwind/trunk/src/UnwindRegistersRestore.S Fri Aug  5 16:35:28 2016
> @@ -488,3 +488,6 @@ DEFINE_LIBUNWIND_PRIVATE_FUNCTION(_ZN9li
>     l.nop
>
>  #endif
> +
> +NO_EXEC_STACK_DIRECTIVE
> +
>
> Modified: libunwind/trunk/src/UnwindRegistersSave.S
> URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/
> UnwindRegistersSave.S?rev=277868&r1=277867&r2=277868&view=diff
> ============================================================
> ==================
> --- libunwind/trunk/src/UnwindRegistersSave.S (original)
> +++ libunwind/trunk/src/UnwindRegistersSave.S Fri Aug  5 16:35:28 2016
> @@ -468,3 +468,6 @@ DEFINE_LIBUNWIND_FUNCTION(unw_getcontext
>    l.sw     120(r3), r30
>    l.sw     124(r3), r31
>  #endif
> +
> +NO_EXEC_STACK_DIRECTIVE
> +
>
> Modified: libunwind/trunk/src/assembly.h
> URL: http://llvm.org/viewvc/llvm-project/libunwind/trunk/src/
> assembly.h?rev=277868&r1=277867&r2=277868&view=diff
> ============================================================
> ==================
> --- libunwind/trunk/src/assembly.h (original)
> +++ libunwind/trunk/src/assembly.h Fri Aug  5 16:35:28 2016
> @@ -35,19 +35,34 @@
>  #define SYMBOL_NAME(name) GLUE(__USER_LABEL_PREFIX__, name)
>
>  #if defined(__APPLE__)
> +
>  #define SYMBOL_IS_FUNC(name)
> +#define NO_EXEC_STACK_DIRECTIVE
> +
>  #elif defined(__ELF__)
> +
>  #if defined(__arm__)
>  #define SYMBOL_IS_FUNC(name) .type name,%function
>  #else
>  #define SYMBOL_IS_FUNC(name) .type name, at function
>  #endif
> +
> +#if defined(__GNU__) || defined(__ANDROID__) || defined(__FreeBSD__)
> +#define NO_EXEC_STACK_DIRECTIVE .section .note.GNU-stack,"",%progbits
> +#else
> +#define NO_EXEC_STACK_DIRECTIVE
> +#endif
> +
>  #else
> +
>  #define SYMBOL_IS_FUNC(name)
>      \
>    .def name SEPARATOR
>       \
>      .scl 2 SEPARATOR
>      \
>      .type 32 SEPARATOR
>      \
>    .endef
> +
> +#define NO_EXEC_STACK_DIRECTIVE
> +
>  #endif
>
>  #define DEFINE_LIBUNWIND_FUNCTION(name)                   \
>
>
> _______________________________________________
> cfe-commits mailing list
> cfe-commits at lists.llvm.org
> http://lists.llvm.org/cgi-bin/mailman/listinfo/cfe-commits
>



-- 
Saleem Abdulrasool
compnerd (at) compnerd (dot) org
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/cfe-commits/attachments/20160805/540c3105/attachment.html>


More information about the cfe-commits mailing list