[compiler-rt] r337037 - SafeStack: Add builtins to read unsafe stack top/bottom

Vlad Tsyrklevich via llvm-commits llvm-commits at lists.llvm.org
Fri Jul 13 15:05:32 PDT 2018


The bot is green as of r337044.

On Fri, Jul 13, 2018 at 1:48 PM Alex L <arphaman at gmail.com> wrote:

> Hi Vlad,
>
> Darwin doesn't support aliases, thus this commit has caused a regression
> in our CI. The build log is below:
>
>
> http://green.lab.llvm.org/green/job/clang-stage1-configure-RA/47259/consoleFull#102734542449ba4694-19c4-4d7e-bec5-911270d8a58c
>
> Do you mind working on a fix for this? Let me know if you need any help.
>
> Cheers,
> Alex
>
> On 13 July 2018 at 12:48, Vlad Tsyrklevich via llvm-commits <
> llvm-commits at lists.llvm.org> wrote:
>
>> Author: vlad.tsyrklevich
>> Date: Fri Jul 13 12:48:35 2018
>> New Revision: 337037
>>
>> URL: http://llvm.org/viewvc/llvm-project?rev=337037&view=rev
>> Log:
>> SafeStack: Add builtins to read unsafe stack top/bottom
>>
>> Summary:
>> Introduce built-ins to read the unsafe stack top and bottom. The unsafe
>> stack top is required to implement garbage collection scanning for
>> Oilpan. Currently there is already a built-in 'get_unsafe_stack_start'
>> to read the bottom of the unsafe stack, but I chose to duplicate this
>> API because 'start' is ambiguous (e.g. Oilpan uses WTF::GetStackStart to
>> read the safe stack top.)
>>
>> Reviewers: pcc
>>
>> Reviewed By: pcc
>>
>> Subscribers: llvm-commits, kcc
>>
>> Differential Revision: https://reviews.llvm.org/D49152
>>
>> Modified:
>>     compiler-rt/trunk/lib/safestack/safestack.cc
>>
>> Modified: compiler-rt/trunk/lib/safestack/safestack.cc
>> URL:
>> http://llvm.org/viewvc/llvm-project/compiler-rt/trunk/lib/safestack/safestack.cc?rev=337037&r1=337036&r2=337037&view=diff
>>
>> ==============================================================================
>> --- compiler-rt/trunk/lib/safestack/safestack.cc (original)
>> +++ compiler-rt/trunk/lib/safestack/safestack.cc Fri Jul 13 12:48:35 2018
>> @@ -257,11 +257,20 @@ __attribute__((section(".preinit_array")
>>  #endif
>>
>>  extern "C"
>> -    __attribute__((visibility("default"))) void
>> *__get_unsafe_stack_start() {
>> +    __attribute__((visibility("default"))) void
>> *__get_unsafe_stack_bottom() {
>>    return unsafe_stack_start;
>>  }
>>
>>  extern "C"
>> +    __attribute__((visibility("default"))) void
>> *__get_unsafe_stack_top() {
>> +  return (char*)unsafe_stack_start + unsafe_stack_size;
>> +}
>> +
>> +extern "C"
>> +    __attribute__((visibility("default"),
>> alias("__get_unsafe_stack_bottom")))
>> +    void *__get_unsafe_stack_start();
>> +
>> +extern "C"
>>      __attribute__((visibility("default"))) void
>> *__get_unsafe_stack_ptr() {
>>    return __safestack_unsafe_stack_ptr;
>>  }
>>
>>
>> _______________________________________________
>> llvm-commits mailing list
>> llvm-commits at lists.llvm.org
>> http://lists.llvm.org/cgi-bin/mailman/listinfo/llvm-commits
>>
>
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.llvm.org/pipermail/llvm-commits/attachments/20180713/54aee4f9/attachment.html>


More information about the llvm-commits mailing list