After commit 93d401570d4e54f732c0f821cdbb5ba2e1dee0f3 (bug #540828) sandbox starts to generate sparc-specific "Bus error". After rollback this commit and simple add canonicalize_filename_mode() without "ret=" I see there are only from canonicalize_filename_mode(). I have slow TI UltraSparc IIe (Hummingbird) on work only for fun, so my patch keep only old code here (while? I will try more - may be). Also better to remove "~sparc" from 2.8 & 2.9. Reproducible: Always
Created attachment 416808 [details, diff] sanbox sparc fastfix Workaround
sorry, but we're not adding arch specific code like this
OK, normal way to fix "portable" gnulib code (this is pointer manipulation/byteorder bug), I just post my fast solution. But anymore "~sparc" in KEYWORDS in this versions must be removed - else after installing 2.8 or 2.9 single way to emerge anything is FEATURES="-sandbox -usersandbox"
sandbox was returning misaligning memory to 4 bytes (size_t). when the gnulib code went to add the file to the hashed state (record_file), it'd do a 64bit (st_dev) write to 4 byte aligned memory which would trigger the SIGBUS. fix is to make sure the internal malloc doesn't return unaligned memory. http://gitweb.gentoo.org/proj/sandbox.git/commit/?id=767becaac8ccf0a271fc7633fafe635bf8126f3e