This is the mail archive of the
newlib@sourceware.org
mailing list for the newlib project.
[RFC] X86_64-elf port (part 1)
- From: "Hans Kester" <kester dot hans at gmail dot com>
- To: newlib at sourceware dot org
- Date: Fri, 10 Aug 2007 15:42:03 +0200
- Subject: [RFC] X86_64-elf port (part 1)
Here is part 1 of a newlib port for a x86_64-elf target. As I am
totally new to automake, autoconf and other relevant tools I just
'hacked' the files that are normally generated by these tools. I am
sure someone can either tell me how to invoke the appropriate tools or
do it himself.
Since I don't have write access to the repository, perhaps someone can
commit this for me. After general approval that is.
Part 2 with the libc/machine/x86_64 directory will follow.
Regards,
Hans Kester
Index: src/newlib/ChangeLog
===================================================================
RCS file: /cvs/src/src/newlib/ChangeLog,v
retrieving revision 1.1071
diff -u -r1.1071 ChangeLog
--- src/newlib/ChangeLog 3 Aug 2007 21:03:40 -0000 1.1071
+++ src/newlib/ChangeLog 10 Aug 2007 13:24:27 -0000
@@ -1,3 +1,17 @@
+2007-08-10 Hans Kester <hans.kester@ellips.nl>
+
+ * configure.host: Add support for x86_64.
+ * libc/include/machine/ieeefp.h: Define __IEEE_LITTLE_ENDIAN for x86_64.
+ * libc/include/machine/setjmp.h: Define _JBTYPE and _JBLEN for x86_64.
+ * libc/machine/x86_64/aclocal.m4: Generate.
+ * libc/machine/x86_64/configure.in: New.
+ * libc/machine/x86_64/configure: Generate.
+ * libc/machine/x86_64/Makefile.am: New.
+ * libc/machine/x86_64/Makefile.in: Generate.
+ * libc/machine/x86_64/setjmp.S: New.
+ * libc/machine/configure.in: Add x86_64 support.
+ * libc/machine/configure: Generate.
+
2007-08-03 Ralf Corsepius <ralf.corsepius@rtems.org>
* libc/include/tar.h: New.
Index: src/newlib/configure.host
===================================================================
RCS file: /cvs/src/src/newlib/configure.host,v
retrieving revision 1.94
diff -u -r1.94 configure.host
--- src/newlib/configure.host 11 May 2007 20:09:00 -0000 1.94
+++ src/newlib/configure.host 10 Aug 2007 13:13:03 -0000
@@ -156,6 +156,9 @@
;;
esac
;;
+ x86_64)
+ machine_dir=x86_64
+ ;;
ia64*)
;;
iq2000)
Index: src/newlib/libc/include/machine/ieeefp.h
===================================================================
RCS file: /cvs/src/src/newlib/libc/include/machine/ieeefp.h,v
retrieving revision 1.31
diff -u -r1.31 ieeefp.h
--- src/newlib/libc/include/machine/ieeefp.h 26 Apr 2007 19:23:37 -00001.31
+++ src/newlib/libc/include/machine/ieeefp.h 10 Aug 2007 13:13:04 -0000
@@ -306,6 +306,10 @@
#define __IEEE_LITTLE_ENDIAN
#endif
+#ifdef __x86_64__
+#define __IEEE_LITTLE_ENDIAN
+#endif
+
#ifndef __IEEE_BIG_ENDIAN
#ifndef __IEEE_LITTLE_ENDIAN
#error Endianess not declared!!
Index: src/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
--- src/newlib/libc/include/machine/setjmp.h 18 Dec 2006 16:48:03 -00001.32
+++ src/newlib/libc/include/machine/setjmp.h 10 Aug 2007 13:13:04 -0000
@@ -67,6 +67,11 @@
#endif
#endif
+#ifdef __x86_64_
+#define _JBTYPE long long
+#define _JBLEN 9
+#endif
+
#ifdef __i960__
#define _JBLEN 35
#endif
Index: src/newlib/libc/machine/configure.in
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/configure.in,v
retrieving revision 1.7
diff -u -r1.7 configure.in
--- src/newlib/libc/machine/configure.in 24 May 2007 17:33:31 -00001.7
+++ src/newlib/libc/machine/configure.in 10 Aug 2007 13:13:08 -0000
@@ -35,6 +35,7 @@
h8500) AC_CONFIG_SUBDIRS(h8500) ;;
hppa) AC_CONFIG_SUBDIRS(hppa) ;;
i386) AC_CONFIG_SUBDIRS(i386) ;;
+ x86_64) AC_CONFIG_SUBDIRS(x86_64) ;;
i960) AC_CONFIG_SUBDIRS(i960) ;;
iq2000) AC_CONFIG_SUBDIRS(iq2000) ;;
m32c) AC_CONFIG_SUBDIRS(m32c) ;;
Index: src/newlib/libc/machine/configure
===================================================================
RCS file: /cvs/src/src/newlib/libc/machine/configure,v
retrieving revision 1.28
diff -u -r1.28 configure
--- src/newlib/libc/machine/configure 24 May 2007 17:33:31 -0000 1.28
+++ src/newlib/libc/machine/configure 10 Aug 2007 13:13:08 -0000
@@ -471,6 +471,7 @@
ac_subdirs_all="$ac_subdirs_all h8500"
ac_subdirs_all="$ac_subdirs_all hppa"
ac_subdirs_all="$ac_subdirs_all i386"
+ac_subdirs_all="$ac_subdirs_all x86_64"
ac_subdirs_all="$ac_subdirs_all i960"
ac_subdirs_all="$ac_subdirs_all iq2000"
ac_subdirs_all="$ac_subdirs_all m32c"
@@ -10737,6 +10738,10 @@
subdirs="$subdirs i386"
;;
+ x86_64)
+
+subdirs="$subdirs x86_64"
+ ;;
i960)
subdirs="$subdirs i960"