public inbox for gcc-patches@gcc.gnu.org
 help / color / mirror / Atom feed
From: Ramana Radhakrishnan <ramana.gcc@googlemail.com>
To: Richard Sandiford <richard.sandiford@arm.com>,
	Wilco Dijkstra <Wilco.Dijkstra@arm.com>,
	 GCC Patches <gcc-patches@gcc.gnu.org>,
	Kyrylo Tkachov <Kyrylo.Tkachov@arm.com>,
	 "maskray@google.com" <maskray@google.com>
Subject: Re: [PATCH] AArch64: Add support for -mdirect-extern-access
Date: Thu, 17 Nov 2022 20:52:34 +0000	[thread overview]
Message-ID: <CAJA7tRYTuQo_Q6P78eDkOh-qRbySOU0RFEm-ktZT8Te5E2ZDyg@mail.gmail.com> (raw)
In-Reply-To: <mpty1s9ebfb.fsf@arm.com>

On Thu, Nov 17, 2022 at 5:30 PM Richard Sandiford via Gcc-patches
<gcc-patches@gcc.gnu.org> wrote:
>
> Wilco Dijkstra <Wilco.Dijkstra@arm.com> writes:
> > Hi Richard,
> >
> >> Can you go into more detail about:
> >>
> >>    Use :option:`-mdirect-extern-access` either in shared libraries or in
> >>    executables, but not in both.  Protected symbols used both in a shared
> >>    library and executable may cause linker errors or fail to work correctly
> >>
> >> If this is LLVM's default for PIC (and by assumption shared libraries),
> >> is it then invalid to use -mdirect-extern-access for any PIEs that
> >> are linked against those shared libraries and use protected symbols
> >> from those libraries?  How would a user know that one of the shared
> >> libraries they're linking against was built in this way?
> >
> > Yes, the usage model is that you'd either use it for static PIE or only on
> > data that is not shared. If you get it wrong them you'll get the copy
> > relocation error.
>
> Thanks.  I think I'm still missing something though.  If, for the
> non-executable case, people should only use the feature on data that
> is not shared, why do we need to relax the binds-local condition for
> protected symbols on -fPIC?  Oughtn't the symbol to be hidden rather
> than protected if the data isn't shared?
>
> I can understand the reasoning for the PIE changes but I'm still
> struggling with the PIC-but-not-PIE bits.

I think I'm with Richard S on hidden vs protected on first reading. I
can see why this works out of the box and can even be default for
static-pie.

Any reason why this is not on by default - it's early enough in the
stage3 cycle and we can always flip the defaults if there are more
problems found.

You probably need a rebase for the documentation bits,.

regards
Ramana


Ramana

  reply	other threads:[~2022-11-17 20:52 UTC|newest]

Thread overview: 10+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2022-11-11 14:48 Wilco Dijkstra
2022-11-16 10:54 ` Richard Sandiford
2022-11-17 16:42   ` Wilco Dijkstra
2022-11-17 17:30     ` Richard Sandiford
2022-11-17 20:52       ` Ramana Radhakrishnan [this message]
2022-11-17 21:20         ` maskray
2022-11-17 21:37           ` Andrew Pinski
2022-11-17 21:46             ` Fangrui Song
2022-11-17 21:55               ` Andrew Pinski
2022-11-17 22:07                 ` Fangrui Song

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=CAJA7tRYTuQo_Q6P78eDkOh-qRbySOU0RFEm-ktZT8Te5E2ZDyg@mail.gmail.com \
    --to=ramana.gcc@googlemail.com \
    --cc=Kyrylo.Tkachov@arm.com \
    --cc=Wilco.Dijkstra@arm.com \
    --cc=gcc-patches@gcc.gnu.org \
    --cc=maskray@google.com \
    --cc=richard.sandiford@arm.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.
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 read-only IMAP folder(s) and NNTP newsgroup(s).