mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Felix Janda <felix.janda@posteo.de>
To: musl@lists.openwall.com
Subject: Re: debugging problem with musl ld and qemu-ppc
Date: Sat, 1 Nov 2014 22:41:28 +0100	[thread overview]
Message-ID: <20141101214128.GA5286@euler> (raw)
In-Reply-To: <20141019211320.GL32028@brightrain.aerifal.cx>

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_@local-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.)

Using debian code search, the construct still seems to be used in
libffi (and its copies in many projects). Looking closer, the code is
behind an #ifdef PROF and PROF isn't defined anywhere in the codebase.
That should be the reason why I had no problems with python.

Felix


  reply	other threads:[~2014-11-01 21:41 UTC|newest]

Thread overview: 13+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2014-10-16  6:09 Felix Janda
2014-10-16 15:34 ` Rich Felker
2014-10-16 16:58   ` Felix Janda
2014-10-19 20:29     ` Felix Janda
2014-10-19 21:13       ` Rich Felker
2014-11-01 21:41         ` Felix Janda [this message]
2014-11-01 21:47           ` Rich Felker
2014-11-01 22:01             ` Felix Janda
2014-11-03 23:11               ` stephen Turner
2014-11-04 18:34                 ` Felix Janda
2014-10-17 19:30   ` Felix Janda
2014-10-17 20:17     ` Rich Felker
2014-10-17 21:15       ` Felix Janda

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20141101214128.GA5286@euler \
    --to=felix.janda@posteo.de \
    --cc=musl@lists.openwall.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/musl/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).