[RFC/PATCH] x86_64 port (attempt 2)

Jeff Johnston jjohnstn@redhat.com
Tue Aug 28 22:41:00 GMT 2007


Patch has been checked in.

-- Jeff J.

Hans Kester wrote:
> 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
>>



More information about the Newlib mailing list