This is an archive of the discontinued LLVM Phabricator instance.

SanitizerCommon: 64-bit SPARC/Linux port
ClosedPublic

Authored by ebotcazou on Feb 20 2019, 2:57 AM.

Details

Summary

This patch contains the bits required to make the common 32-bit allocator work on SPARC64/Linux.

Patch by Eric Botcazou.

Diff Detail

Event Timeline

ebotcazou created this revision.Feb 20 2019, 2:57 AM
ro added a subscriber: ro.Feb 20 2019, 4:19 AM
vitalybuka added inline comments.
compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
188 ↗(On Diff #187537)

why do we need kSignExtendedAddresses?
Could we just do

if (SANITIZER_SIGN_EXTENDED_ADDRESSES)
  mem &= (kSpaceSize - 1);
ebotcazou updated this revision to Diff 187810.Feb 21 2019, 9:14 AM
ebotcazou marked an inline comment as done.

kSignExtendedAddresses removed.

vitalybuka added inline comments.Feb 21 2019, 11:10 AM
compiler-rt/lib/sanitizer_common/sanitizer_platform.h
253 ↗(On Diff #187810)

As this it's going to affect Solaris

Any plans to have sparc Linux buildbot with sanitizers?
Without that support may regress very quickly.

compiler-rt/lib/sanitizer_common/sanitizer_platform.h
253 ↗(On Diff #187810)

@krytarowski
Same here. Not sure if we had working SPARK Solaris.

ebotcazou marked an inline comment as done.Feb 22 2019, 12:06 AM
ebotcazou added inline comments.
compiler-rt/lib/sanitizer_common/sanitizer_allocator_primary32.h
188 ↗(On Diff #187537)

Yes, I guess so.

compiler-rt/lib/sanitizer_common/sanitizer_platform.h
253 ↗(On Diff #187810)

No, the sanitizer cannot work on 64-bit SPARC/Solaris for the time being, you can ask Rainer Orth about that. However there is some hope that the Linux approach can be adapted because the VM layout is roughly the same on Solaris and Linux.

vitalybuka accepted this revision.Feb 22 2019, 10:39 AM
This revision is now accepted and ready to land.Feb 22 2019, 10:39 AM
vitalybuka edited the summary of this revision. (Show Details)Mar 12 2019, 1:46 PM
This revision was automatically updated to reflect the committed changes.