[libunwind] r277868 - unwind: disable executable stacks

Hans Wennborg via cfe-commits cfe-commits at lists.llvm.org
Mon Aug 8 10:27:03 PDT 2016


Okay, r278023.

Thanks,
Hans

On Fri, Aug 5, 2016 at 2:46 PM, Saleem Abdulrasool
<compnerd at compnerd.org> wrote:
> 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


More information about the cfe-commits mailing list