mailing list of musl libc
 help / color / mirror / code / Atom feed
From: Petr Hosek <phosek@chromium.org>
To: musl@lists.openwall.com
Subject: Re: [PATCH] don't define SHARED macro in the source
Date: Sat, 07 Nov 2015 23:24:56 +0000	[thread overview]
Message-ID: <CABBv4TZomh9XSaS=SZiiNS-CtxQT7v5hPFcX_BWA+ejEK4puzg@mail.gmail.com> (raw)
In-Reply-To: <20151107132404.GD8500@port70.net>

[-- Attachment #1: Type: text/plain, Size: 1800 bytes --]

We don't support static pie in our toolchain so I haven't really tested
that scenario but now I see why the SHARED macro is needed here.

One option around this issue would be to avoid building rcrt1.c altogether,
but I'd like to avoid carrying an extra patch for that. The other option
would be to allow inline assembly in this case since it seems to be only
used as a guard.  I'll see if the second option is feasible.

On Sat, Nov 7, 2015 at 5:24 AM Szabolcs Nagy <nsz@port70.net> wrote:

> * Petr Hosek <phosek@google.com> [2015-11-06 23:46:40 +0000]:
> > When building musl with pnacl-clang compiler I found a bug: crt/rcrt1.c
> > defines the SHARED macro which enables the conditional block in
> > src/ldso/dlstart.c, this breaks for us because pnacl-clang doesn't
> support
> > shared libraries nor inline assembly. If my understanding is correct, the
> > SHARED macro should be (and already is) defined only in
> CFLAGS_ALL_SHARED.
> > The attached patch fixes that.
>
> but rcrt1.o is not built with CFLAGS_ALL_SHARED and SHARED is needed
>
> rcrt1.o should be only used for static pie
>
> > From 7b1348fa1a8dd2d02a9087639c6b02ce9585aef2 Mon Sep 17 00:00:00 2001
> > From: Petr Hosek <phosek@chromium.org>
> > Date: Thu, 5 Nov 2015 21:55:20 -0800
> > Subject: [PATCH] don't define SHARED macro in the source
> >
> > the SHARED macro should only be defined in CFLAGS_ALL_SHARED when
> > building musl as shared library.
> > ---
> >  crt/rcrt1.c | 1 -
> >  1 file changed, 1 deletion(-)
> >
> > diff --git a/crt/rcrt1.c b/crt/rcrt1.c
> > index 9be117f..0ba78f8 100644
> > --- a/crt/rcrt1.c
> > +++ b/crt/rcrt1.c
> > @@ -1,4 +1,3 @@
> > -#define SHARED
> >  #define START "_start"
> >  #define _dlstart_c _start_c
> >  #include "../src/ldso/dlstart.c"
> > --
> > 2.6.0.rc2.230.g3dd15c0
> >
>
>

[-- Attachment #2: Type: text/html, Size: 2432 bytes --]

  reply	other threads:[~2015-11-07 23:24 UTC|newest]

Thread overview: 6+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2015-11-06 23:46 Petr Hosek
2015-11-07 13:24 ` Szabolcs Nagy
2015-11-07 23:24   ` Petr Hosek [this message]
2015-11-08  0:58     ` Rich Felker
2015-11-08  2:17       ` Szabolcs Nagy
2015-11-08  6:46       ` Petr Hosek

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='CABBv4TZomh9XSaS=SZiiNS-CtxQT7v5hPFcX_BWA+ejEK4puzg@mail.gmail.com' \
    --to=phosek@chromium.org \
    --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).