From 231fd98e80e389ede5d8ec302b737e7315c979cd Mon Sep 17 00:00:00 2001 From: Igor Pashev Date: Mon, 21 Sep 2015 10:07:16 +0300 Subject: Added debian/patches/illumos-libgo-lfstack.diff --- debian/patches/illumos-libgo-lfstack.diff | 20 ++++++++++++++++++++ debian/rules.patch | 1 + 2 files changed, 21 insertions(+) create mode 100644 debian/patches/illumos-libgo-lfstack.diff diff --git a/debian/patches/illumos-libgo-lfstack.diff b/debian/patches/illumos-libgo-lfstack.diff new file mode 100644 index 0000000..e0fc2d4 --- /dev/null +++ b/debian/patches/illumos-libgo-lfstack.diff @@ -0,0 +1,20 @@ +Index: gcc-5/src/libgo/runtime/lfstack.goc +=================================================================== +--- gcc-5.orig/src/libgo/runtime/lfstack.goc ++++ gcc-5/src/libgo/runtime/lfstack.goc +@@ -29,7 +29,6 @@ static inline LFNode* lfUnpack(uint64 va + // So we use 17msb of pointers as ABA counter. + # define PTR_BITS 47 + # endif +-# endif + # define CNT_BITS (64 - PTR_BITS + 3) + static inline uint64 lfPack(LFNode *node, uintptr cnt) { + return ((uint64)(node)<<(64-PTR_BITS)) | (cnt&(((1<> CNT_BITS) << 3); + } ++# endif /* __sparc__ ... */ + #else + static inline uint64 lfPack(LFNode *node, uintptr cnt) { + return ((uint64)(uintptr)(node)<<32) | cnt; diff --git a/debian/rules.patch b/debian/rules.patch index 50f6fa2..887d059 100644 --- a/debian/rules.patch +++ b/debian/rules.patch @@ -342,6 +342,7 @@ ifeq ($(DEB_TARGET_ARCH_OS), illumos) debian_patches += illumos-boehm-gc debian_patches += illumos-libgcc-regs debian_patches += illumos-sysdep-unix.c + debian_patches += illumos-libgo-lfstack endif # don't remove, this is regularly overwritten, see PR sanitizer/63958. -- cgit v1.2.3