On Mon, Sep 20, 2021 at 8:20 PM Fāng-ruì Sòng via Gcc-patches <gcc-patches@gcc.gnu.org> wrote: > > PING^5 https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570139.html > > On Sat, Sep 4, 2021 at 12:11 PM Fāng-ruì Sòng <mask...@google.com> wrote: > > > > PING^4 https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570139.html > > > > One major design goal of PIE was to avoid copy relocations. > > The original patch for GCC 5 caused problems for many years. > > > > On Wed, Aug 18, 2021 at 11:54 PM Fāng-ruì Sòng <mask...@google.com> wrote: > >> > >> PING^3 https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570139.html > >> > >> On Fri, Jun 4, 2021 at 3:04 PM Fāng-ruì Sòng <mask...@google.com> wrote: > >> > > >> > PING^2 https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570139.html > >> > > >> > On Mon, May 24, 2021 at 9:43 AM Fāng-ruì Sòng <mask...@google.com> wrote: > >> > > > >> > > Ping https://gcc.gnu.org/pipermail/gcc-patches/2021-May/570139.html > >> > > > >> > > On Tue, May 11, 2021 at 8:29 PM Fangrui Song <mask...@google.com> > >> > > wrote: > >> > > > > >> > > > This was introduced in 2014-12 to use local binding for external > >> > > > symbols > >> > > > for -fPIE. Now that we have H.J. Lu's GOTPCRELX for years which > >> > > > mostly > >> > > > nullify the benefit of HAVE_LD_PIE_COPYRELOC, HAVE_LD_PIE_COPYRELOC > >> > > > should retire now. > >> > > > > >> > > > One design goal of -fPIE was to avoid copy relocations. > >> > > > HAVE_LD_PIE_COPYRELOC has deviated from the goal. With this change, > >> > > > the > >> > > > -fPIE behavior of x86-64 will be closer to x86-32 and other targets. > >> > > > > >> > > > --- > >> > > > > >> > > > See https://gcc.gnu.org/legacy-ml/gcc/2019-05/msg00215.html for a > >> > > > list > >> > > > of fixed and unfixed (e.g. gold incompatibility with protected > >> > > > https://sourceware.org/bugzilla/show_bug.cgi?id=19823) issues. > >> > > > > >> > > > If you prefer a longer write-up, see > >> > > > https://maskray.me/blog/2021-01-09-copy-relocations-canonical-plt-entries-and-protected > >> > > > --- > >> > > > gcc/config.in | 6 --- > >> > > > gcc/config/i386/i386.c | 11 +--- > >> > > > gcc/configure | 52 > >> > > > ------------------- > >> > > > gcc/configure.ac | 48 ----------------- > >> > > > gcc/doc/sourcebuild.texi | 3 -- > >> > > > .../gcc.target/i386/pie-copyrelocs-1.c | 14 ----- > >> > > > .../gcc.target/i386/pie-copyrelocs-2.c | 14 ----- > >> > > > .../gcc.target/i386/pie-copyrelocs-3.c | 14 ----- > >> > > > .../gcc.target/i386/pie-copyrelocs-4.c | 17 ------ > >> > > > gcc/testsuite/lib/target-supports.exp | 47 ----------------- > >> > > > 10 files changed, 2 insertions(+), 224 deletions(-) > >> > > > delete mode 100644 gcc/testsuite/gcc.target/i386/pie-copyrelocs-1.c > >> > > > delete mode 100644 gcc/testsuite/gcc.target/i386/pie-copyrelocs-2.c > >> > > > delete mode 100644 gcc/testsuite/gcc.target/i386/pie-copyrelocs-3.c > >> > > > delete mode 100644 gcc/testsuite/gcc.target/i386/pie-copyrelocs-4.c
>From x86 maintainer's PoV, the implementation is trivially correct, but I have no idea about functionality. HJ, can you please review the functionality and post your opinion on the patch to move it forward? Thanks, Uros.