This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
Re: [RFC/PATCH] x86_64 port (attempt 2)
Ping!
The GCC mainline now has support for x86_64-elf. Mainline does not
build for any of our targets at the moment, but that will be fixed
when 4.3 is released.
If this port can be committed we should have a working toolchain in
the end (binutils/gcc/newlib).
Hans Kester
On 8/22/07, Hans Kester <kester.hans@gmail.com> wrote:
> On 8/21/07, Jeff Johnston <jjohnstn@redhat.com> wrote:
> > Is anyone pursuing the gcc patch you mentioned? That patch is pretty
> > old (dated March 2005).
>
> Yes, I have already sent a new patch last week
> (http://gcc.gnu.org/ml/gcc-patches/2007-08/msg00936.html). It hasn't
> been reviewed yet, I will ping them soon. Mark Mitchel told me to give
> it a week. Binutils was fixed long ago.
>
> > I would have assumed in your patch that you would keep/reuse use some
> > of the i386 assembler routines that you didn't have specific
> > replacements for. For example, you don't have a libm_machine_dir which
> > implements the fast math library routines. You also don't have some
> > other string routines that are implemented in libc/machine/i386. Is
> > there some reason you decided not to do this?
>
> Basically I implemented the functions that we needed to be fast:
> memcpy and memset. I think some evolution is needed here: when we or
> anyone else needs a faster string or math function it will need to be
> implemented. I might take a look at the string and math functions when
> I have more time. For the moment this can be a nice starting point.
>
> > Any requirement for x86_64 libgloss (cygmon)?
>
> Same story here: we don't need it at the moment. Perhaps we or someone
> else can dive into this later.
>
> > I noted a typo in setjmp.h for the __x86_64__ flag (missing a
> > trailing underscore).
>
> You are right. That would make
>
> Index: newlib/libc/include/machine/setjmp.h
> ===================================================================
> RCS file: /cvs/src/src/newlib/libc/include/machine/setjmp.h,v
> retrieving revision 1.32
> diff -u -r1.32 setjmp.h
> --- newlib/libc/include/machine/setjmp.h 18 Dec 2006 16:48:03 -00001.32
> +++ newlib/libc/include/machine/setjmp.h 15 Aug 2007 08:57:54 -0000
> @@ -67,6 +67,11 @@
> #endif
> #endif
>
> +#ifdef __x86_64__
> +#define _JBTYPE long long
> +#define _JBLEN 8
> +#endif
> +
> #ifdef __i960__
> #define _JBLEN 35
> #endif
>