On 08.05.2012, at 21:29, Andreas Färber wrote: > Am 08.05.2012 20:09, schrieb Alexander Graf: >> >> On 08.05.2012, at 19:39, malc wrote: >> >>> On Tue, 8 May 2012, Alexander Graf wrote: >>> >>>> On 07.05.2012, at 01:46, Andreas F?rber wrote: >>>> >>>>> This series fixes two long-standing issues on Darwin/ppc and, based on >>>>> your >>>>> second patch, fixes the AREG0 mode for Linux and Darwin and thus the ppc >>>>> build. >>>>> >>>>> Compared to your last patch I have tried to avoid the { int ir; } block, >>>>> and >>>>> I've combined both modes in one code path using ir and a new macro to >>>>> handle >>>>> the alignment differences in a more explicit way. >>>>> >>>>> Tested on Linux and Darwin, using i386 and x86_64 (non-AREG0) as well as >>>>> sparc >>>>> and sparc64 (AREG0). On Darwin I observed a reproducible hang in fsck >>>>> during >>>>> INIT under Debian/sparc, which given the lateness and now unified code >>>>> paths >>>>> (i.e., Haiku/i386 and HelenOS/sparc64 working) I'd attribute to lingering >>>>> main loop / signal handling issues. > > What I was referring to here btw is that I've in one case seen Haiku > continue shutting down once I grabbed and moved the mouse in Cocoa. Not > observed on Linux with SDL or VNC. > >>>> Malc, ping? :) >>> >>> I raised my minor objections to Andreas on IRC, they are not yet >>> addressed. >> >> Like? I'd like to have a working rc1. > > He didn't like my _CALL_DARWIN fix in patch 2/3 (which is totally > independent of 3/3). > > On patch 3/3 he didn't like my alignment macro. I don't have a better > one though, suggestions or patches welcome. Ideal might be some > ROUND_TO_ODD() macro, but the problem is that for Darwin/AIX where it's > no-op it shouldn't result in a "statement without effect" warning. > Therefore my do { } while (0) as opposed to ir = MACRO(ir).
static inline int round_reg_i64(int input_reg) { #ifdef WHATEVER_CONDITION if (input_reg % 2) { reg++; } #endif return reg; } [...] ir = round_reg_i64(ir); > > I do think though that any half-baked patch that doesn't regress is > better than the current #error situation. Yes, please! Let's get what we have in for rc1 and take it from there. Alex