|
Message-ID: <20141101214713.GL22465@brightrain.aerifal.cx> Date: Sat, 1 Nov 2014 17:47:13 -0400 From: Rich Felker <dalias@...c.org> To: musl@...ts.openwall.com Subject: Re: debugging problem with musl ld and qemu-ppc On Sat, Nov 01, 2014 at 10:41:28PM +0100, Felix Janda wrote: > Rich Felker wrote: > > On Sun, Oct 19, 2014 at 10:29:35PM +0200, Felix Janda wrote: > [..] > > > This seems to be caused by the part starting from lines 4267 in [1] > > > > > > /* This refers only to functions defined in the shared library. */ > > > case R_PPC_LOCAL24PC: > > > if (h != NULL && h == htab->elf.hgot && htab->plt_type == PLT_UNSET) > > > { > > > htab->plt_type = PLT_OLD; > > > htab->old_bfd = abfd; > > > } > > > > > > I think it was added to be helpful and detect the construction > > > > > > bl _GLOBAL_OFFSET_TABLE_@...al-4 > > > mflr r30 > > > > > > intended to load a pointer to the got into r30, which no longer works > > > with secure-plt. See [2]. > > > > Nice job tracking this down. If there's not a reason you need this > > specific construct, I would just avoid it, but really the above hack > > should be removed from binutils. There are all sorts of asm constructs > > that are specific to one ABI, and the presence of something that seems > > to be specific to one ABI is not a justification for ignoring the > > user's choice of link options. > > The construct is used in a file in gmp and this caused my home-built gcc > to crash. I'm wondering why other people have not hit this issue. (I > guess it is because they didn't use dynamic linking.) Could you give a link to the code where it's used? It would be nice to see if this is actually something broken that's assuming the insecure-plt ABI or whether it's just binutils misinterpreting it and making trouble for us. Rich
Powered by blists - more mailing lists
Confused about mailing lists and their use? Read about mailing lists on Wikipedia and check out these guidelines on proper formatting of your messages.