sabotage-linux/sabotage — pull request #261 by JillTyrell (2014-09-01 22:10:09+00:00)
Title: go: Skipping tests, fixing faulty patch.

Since the adjustments to the templates, status errors are being checked on commands. This has resulted in the './all.bash' script's status code, formerly ignored due to the tests being a known-failure, as suddenly halting butch. This however, has unearthed a fault in the previous patch using the wrong operator, which has been corrected.

Currently Go's tests have a few simple fixes to build the entire available test suite, however the following race detector test explodes with what looks like musl-libc related issues:

# Testing race detector.
# runtime/race
race_linux_amd64.syso: In function `__sanitizer::InternalAlloc(unsigned long, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
gotsan.cc:(.text+0x1130): undefined reference to `__libc_malloc'
race_linux_amd64.syso: In function `__tsan::WriteMemoryProfile(char*, unsigned long)':
gotsan.cc:(.text+0x929b): undefined reference to `__libc_mallinfo'
race_linux_amd64.syso: In function `__sanitizer::ReExec()':
gotsan.cc:(.text+0xa047): undefined reference to `__libc_stack_end'
race_linux_amd64.syso: In function `__sanitizer::InternalFree(void*, __sanitizer::SizeClassAllocatorLocalCache<__sanitizer::SizeClassAllocator32<0ul, 140737488355328ull, 16ul, __sanitizer::SizeClassMap<17ul, 64ul, 14ul>, 24ul, __sanitizer::TwoLevelByteMap<2048ull, 4096ull, __sanitizer::NoOpMapUnmapCallback>, __sanitizer::NoOpMapUnmapCallback> >*)':
gotsan.cc:(.text+0x4d8d): undefined reference to `__libc_free'
collect2: error: ld returned 1 exit status

However, this test suite is not required to have a functioning Go stack. This patch changes from './all.bash' to './make.bash' and otherwise proceeds as before. This recipe and patch has been tested, as the resulting compiler tested with other Go recipes.