[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: hurd: Ad default-pie and static-pie support
From: |
Samuel Thibault |
Subject: |
Re: hurd: Ad default-pie and static-pie support |
Date: |
Mon, 27 Nov 2023 20:12:32 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Thomas Schwinge, le lun. 27 nov. 2023 15:52:02 +0100, a ecrit:
> On 2023-10-28T21:20:39+0200, Samuel Thibault <samuel.thibault@gnu.org> wrote:
> > This fixes the Hurd spec in the default-pie case, and adds static-pie
> > support.
>
> I understand that your change does work for you as-is, so I've now pushed
> that to master branch in commit c768917402d4cba69a92c737e56e177f5b8ab0df
> "hurd: Ad default-pie and static-pie support", see attached.
Yes, thanks!
Samuel
> -----------------
> Siemens Electronic Design Automation GmbH; Anschrift: Arnulfstraße 201, 80634
> München; Gesellschaft mit beschränkter Haftung; Geschäftsführer: Thomas
> Heurung, Frank Thürauf; Sitz der Gesellschaft: München; Registergericht
> München, HRB 106955
> From c768917402d4cba69a92c737e56e177f5b8ab0df Mon Sep 17 00:00:00 2001
> From: Samuel Thibault <samuel.thibault@gnu.org>
> Date: Sat, 6 May 2023 13:55:44 +0200
> Subject: [PATCH] hurd: Ad default-pie and static-pie support
>
> This fixes the Hurd spec in the default-pie case, and adds static-pie
> support.
>
> gcc/ChangeLog:
>
> * config/i386/gnu.h: Use PIE_SPEC, add static-pie case.
> * config/i386/gnu64.h: Use PIE_SPEC, add static-pie case.
> ---
> gcc/config/i386/gnu.h | 6 +++---
> gcc/config/i386/gnu64.h | 6 +++---
> 2 files changed, 6 insertions(+), 6 deletions(-)
>
> diff --git a/gcc/config/i386/gnu.h b/gcc/config/i386/gnu.h
> index 8dc6d9ee4e3..e776144f96c 100644
> --- a/gcc/config/i386/gnu.h
> +++ b/gcc/config/i386/gnu.h
> @@ -27,12 +27,12 @@ along with GCC. If not, see
> <http://www.gnu.org/licenses/>.
> #undef STARTFILE_SPEC
> #if defined HAVE_LD_PIE
> #define STARTFILE_SPEC \
> - "%{!shared:
> %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}}
> \
> - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
> + "%{!shared:
> %{pg|p|profile:%{static-pie:grcrt0.o%s;static:gcrt0.o%s;:gcrt1.o%s};static-pie:rcrt0.o%s;static:crt0.o%s;"
> PIE_SPEC ":Scrt1.o%s;:crt1.o%s}} \
> + crti.o%s %{static:crtbeginT.o%s;shared|static-pie|" PIE_SPEC
> ":crtbeginS.o%s;:crtbegin.o%s}"
> #else
> #define STARTFILE_SPEC \
> "%{!shared:
> %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};static:crt0.o%s;:crt1.o%s}} \
> - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
> + crti.o%s %{static:crtbeginT.o%s;shared:crtbeginS.o%s;:crtbegin.o%s}"
> #endif
>
> #ifdef TARGET_LIBC_PROVIDES_SSP
> diff --git a/gcc/config/i386/gnu64.h b/gcc/config/i386/gnu64.h
> index a411f0e802a..332372fa067 100644
> --- a/gcc/config/i386/gnu64.h
> +++ b/gcc/config/i386/gnu64.h
> @@ -31,10 +31,10 @@ along with GCC. If not, see
> <http://www.gnu.org/licenses/>.
> #undef STARTFILE_SPEC
> #if defined HAVE_LD_PIE
> #define STARTFILE_SPEC \
> - "%{!shared:
> %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};pie:Scrt1.o%s;static:crt0.o%s;:crt1.o%s}}
> \
> - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
> + "%{!shared:
> %{pg|p|profile:%{static-pie:grcrt0.o%s;static:gcrt0.o%s;:gcrt1.o%s};static-pie:rcrt0.o%s;static:crt0.o%s;"
> PIE_SPEC ":Scrt1.o%s;:crt1.o%s}} \
> + crti.o%s %{static:crtbeginT.o%s;shared|static-pie|" PIE_SPEC
> ":crtbeginS.o%s;:crtbegin.o%s}"
> #else
> #define STARTFILE_SPEC \
> "%{!shared:
> %{pg|p|profile:%{static:gcrt0.o%s;:gcrt1.o%s};static:crt0.o%s;:crt1.o%s}} \
> - crti.o%s %{static:crtbeginT.o%s;shared|pie:crtbeginS.o%s;:crtbegin.o%s}"
> + crti.o%s %{static:crtbeginT.o%s;shared|static-pie|" PIE_SPEC
> ":crtbeginS.o%s;:crtbegin.o%s}"
> #endif
> --
> 2.34.1
>
--
Samuel
---
Pour une évaluation indépendante, transparente et rigoureuse !
Je soutiens la Commission d'Évaluation de l'Inria.