[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] Add support for x86_64-*-gnu-* targets (gcc)
From: |
Samuel Thibault |
Subject: |
Re: [PATCH] Add support for x86_64-*-gnu-* targets (gcc) |
Date: |
Wed, 21 Dec 2022 22:20:20 +0100 |
User-agent: |
NeoMutt/20170609 (1.8.3) |
Flavio Cruz, le mer. 21 déc. 2022 16:16:32 -0500, a ecrit:
> On Wed, Dec 21, 2022 at 12:32:04PM +0100, Samuel Thibault wrote:
> > > +
> > > +/*
> > > +Copyright (C) 2022 Free Software Foundation, Inc.
> > > +
> > > +This file is part of GCC.
> > > +
> > > +GCC is free software: you can redistribute it and/or modify
> > > +it under the terms of the GNU General Public License as published by
> > > +the Free Software Foundation, either version 3 of the License, or
> > > +(at your option) any later version.
> > > +
> > > +GCC is distributed in the hope that it will be useful,
> > > +but WITHOUT ANY WARRANTY; without even the implied warranty of
> > > +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
> > > +GNU General Public License for more details.
> > > +
> > > +You should have received a copy of the GNU General Public License
> > > +along with GCC. If not, see <http://www.gnu.org/licenses/>.
> > > +*/
> > > +
> > > +#define GNU_USER_LINK_EMULATION32 "elf_i386"
> > > +#define GNU_USER_LINK_EMULATION64 "elf_x86_64"
> > > +#define GNU_USER_LINK_EMULATIONX32 "elf32_x86_64"
> > > +
> > > +#undef GNU_USER_DYNAMIC_LINKER
> >
> > I don't think you can to #undef GNU_USER_DYNAMIC_LINKER? It's already
> > undefed and redefined in gnu.h
>
> Are you referring to i386/gnu.h? That is only included for i386.
Ok, let's keep it as you had it then.
> > > diff --git a/libgcc/config/i386/gnu-unwind.h
> > > b/libgcc/config/i386/gnu-unwind.h
> > > index 25eb690e370..b7574f9ac37 100644
> > > --- a/libgcc/config/i386/gnu-unwind.h
> > > +++ b/libgcc/config/i386/gnu-unwind.h
> > > @@ -30,6 +30,14 @@ see the files COPYING3 and COPYING.RUNTIME
> > > respectively. If not, see
> > >
> > > #include <signal.h>
> > >
> > > +#ifdef __x86_64__
> > > +
> > > +/*
> > > + * TODO: support for 64 bits need to be implemented.
> > > + */
> > > +
> > > +#else /* ifdef __x86_64__ */
> > > +
> > > #define MD_FALLBACK_FRAME_STATE_FOR x86_gnu_fallback_frame_state
> > >
> > > static _Unwind_Reason_Code
> >
> > Yes, that should be fine for now.
> >
> > Thanks!
> > Samuel
>
> Attached the new version of the patch.
That looks good to me, thanks!
> gcc/config.gcc | 5 ++++-
> gcc/config/i386/gnu64.h | 40 +++++++++++++++++++++++++++++++++
> libgcc/config.host | 8 ++++++-
> libgcc/config/i386/gnu-unwind.h | 10 +++++++++
> 4 files changed, 61 insertions(+), 2 deletions(-)
> create mode 100644 gcc/config/i386/gnu64.h
>
> diff --git a/gcc/config.gcc b/gcc/config.gcc
> index 95190233820..e54abc0e860 100644
> --- a/gcc/config.gcc
> +++ b/gcc/config.gcc
> @@ -1955,7 +1955,7 @@ i[34567]86-*-linux* | i[34567]86-*-kfreebsd*-gnu |
> i[34567]86-*-gnu* | i[34567]8
> ;;
> esac
> ;;
> -x86_64-*-linux* | x86_64-*-kfreebsd*-gnu)
> +x86_64-*-linux* | x86_64-*-kfreebsd*-gnu | x86_64-*-gnu*)
> tm_file="${tm_file} i386/unix.h i386/att.h elfos.h gnu-user.h
> glibc-stdint.h \
> i386/x86-64.h i386/gnu-user-common.h i386/gnu-user64.h"
> case ${target} in
Yes, better keep it alongside.
Samuel