From mboxrd@z Thu Jan 1 00:00:00 1970 From: Alan Modra To: John David Anglin Cc: binutils@sourceware.cygnus.com Subject: Re: [Patch]: Re: gas 2.10.91 from 20000920 cvs is broken under hpux Date: Tue, 26 Sep 2000 18:16:00 -0000 Message-id: References: <200009262024.QAA00491@hiauly1.hia.nrc.ca> X-SW-Source: 2000-09/msg00457.html On Tue, 26 Sep 2000, John David Anglin wrote: > Changed my mind about the problem being in gcc. The default when an > argument description is omitted from a .CALL statement is ARG = NO. > NO means the argument cannot be relocated. Thus, the definition of > arg_reloc_stub_needed needs to be fixed to check all four args and the > return separately. > > A possible fix is attached below. Note there is another small fix > to pa_align as well. Thanks. Your analysis looks correct. Hmm, let's see #define nonzero_dibits(x) \ ((x) | (((x) & 0x55555555) << 1) | (((x) & 0xAAAAAAAA) >> 1)) #define arg_reloc_stub_needed(CALLER, CALLEE) \ (((CALLER) ^ (CALLEE)) & nonzero_dibits (CALLER) & nonzero_dibits (CALLEE)) should work too. -- Linuxcare. Support for the Revolution.