This is the mail archive of the binutils@sourceware.org mailing list for the binutils project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

Re: RFC: Adding non-PIC executable support to MIPS


On Mon, Jul 28, 2008 at 08:24:41PM +0100, Richard Sandiford wrote:
> OK.  I'll take that as maintainer approval and commit it later.

Great, thank you.

> >> I think it'd be good to tighten the assert, as it would currently trigger
> >> for valid X >= -0x80000000 addresses (both in 32-bit and 64-bit code).
> >> I don't know of any system out there that allows dynamic executables
> >> in kernel space, but I've ceased to be surprised by such things ;)
> >
> > OK.  Could you check that I got this right?
> >
> >   /* The PLT sequence is not safe for N64 if .got.plt's address can
> >      not be loaded in two instructions.  */
> >   BFD_ASSERT ((gotplt_value & ~(bfd_vma) 0x7fffffff) == 0
> >               || ~(gotplt_value | 0x7fffffff) == 0);
> 
> Looks right if we can rely on wider-than-necessary bfd_vmas being
> sign-extended, but I don't know off-hand if we can.  (If we can, then:
> 
>     BFD_ASSERT (((gotplt_value + 0x80000000) >> 31) < 2);
> 
> is a little shorter.  Someone's probably going to tell me that it's
> also wrong.)

Yes, we can rely on sign extension.  I think I'll stick with my
version, though... clever arithmetic makes my head ache.

> The situation you were in was unusual: you were making incompatible
> changes to the ABI under test.  The tests are really there to make
> sure that we don't accidentally do that again in future. ;)

True enough.  It sounds like we're set then?  You can check in your
various prerequisite binutils and gcc patches, then I can post and
commit final versions of these, and get the glibc / gdb patches
merged.  If any of the binutils patches still need review, let me
know.

No rush - I've got plenty of other things to keep me busy :-)

-- 
Daniel Jacobowitz
CodeSourcery


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]