[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

r1074 - in trunk/glibc-2.3-head: . sysdeps/kfreebsd/x86_64



Author: ps-guest
Date: 2006-01-19 09:44:31 +0000 (Thu, 19 Jan 2006)
New Revision: 1074

Added:
   trunk/glibc-2.3-head/AMD64
   trunk/glibc-2.3-head/sysdeps/kfreebsd/x86_64/sigcontextinfo.h
Modified:
   trunk/glibc-2.3-head/NOTES
   trunk/glibc-2.3-head/README
Log:
status of ucontext_t ABI change, amd64


Added: trunk/glibc-2.3-head/AMD64
===================================================================
--- trunk/glibc-2.3-head/AMD64	2006-01-18 23:27:24 UTC (rev 1073)
+++ trunk/glibc-2.3-head/AMD64	2006-01-19 09:44:31 UTC (rev 1074)
@@ -0,0 +1,54 @@
+TODO:
+
+* decide ld.so location
+	It should be unique between all (at least Debian) ports,
+	namely not the same as on kfreebsd-i386 (/lib/ld.so.1).
+	See also http://www.linuxbase.org/futures/ideas/multiarch/index.html
+
+	Proposed: /lib/ld-kfreebsd-amd64.so.1
+
+
+* toolchain (gcc, binutils) support
+	Write config bits for proper
+	ld.so location:		/lib/ld.so.1	/lib/ld-kfreebsd-amd64.so.1
+	emulation:		elf_i386_fbsd	elf_x86_64_fbsd
+	...
+
+	Ideally, we should support gcc in variants
+	        cross
+        	biarch on i386 
+	        native on amd6 
+	        biarch on amd64
+
+* biarch capable kfreebsd-kernel-headers
+	similarly to linux-kernel-headers,
+	all files in /usr/include/machine should be autogenerated in form
+        on kfreebsd-i386
+		#ifdef __x86_64__
+		# include <amd64/param.h>
+		#else
+		# include <i386/param.h>
+		#endif
+	on kfreebsd-amd64
+		#ifdef __i386__
+		# include <i386/param.h>
+		#else
+		# include <amd64/param.h>
+		#endif
+
+	the first step is to provide content of dir amd64,
+	it would be sufficient for test builds of glibc
+
+
+* prepare kernel
+
+* archive 
+        ? ftp.gnuab.org 
+
+
+* buildd machine
+* buildd admin
+
+* porting machine
+* porting machine admin
+

Modified: trunk/glibc-2.3-head/NOTES
===================================================================
--- trunk/glibc-2.3-head/NOTES	2006-01-18 23:27:24 UTC (rev 1073)
+++ trunk/glibc-2.3-head/NOTES	2006-01-19 09:44:31 UTC (rev 1074)
@@ -77,39 +77,14 @@
 
   FreeBSD 5 changed extended context structs (on i386 added support for mmx),
   we still using FreeBSD 4 structs
-  new version should use added syscalls
 
-  header files:
-	sys/ucontext.h
-	i386/bits/mcontext.h
-	i386/bits/sigcontext.h
-	alpha/bits/mcontext.h
-	alpha/bits/sigcontext.h
-
-  affected libc interfaces:
-	makecontext  
-	getcontext
-	setcontext
-	swapcontext
-
-  only internal change:	
-	sigreturn
-
-  The affected source packages are only:
-	gstreamer0.8 [done]
-	lwp [done]
-	pdns [done]
-	pth [done]
-	ruby1.8 [done]
-	ruby1.9 [done]
-
   Transition should be as follows:
 
 	1) enlarge struct declarations in glibc [done]
 	2) upload glibc [done]
 	3) binNMU affected packages [done]
 	4) change implementation of ucontext_t related calls
-	   to access added mmx fields in structs, test
+	   to access added mmx fields in structs, test [done]
 	5) upload glibc
 
 

Modified: trunk/glibc-2.3-head/README
===================================================================
--- trunk/glibc-2.3-head/README	2006-01-18 23:27:24 UTC (rev 1073)
+++ trunk/glibc-2.3-head/README	2006-01-19 09:44:31 UTC (rev 1074)
@@ -32,3 +32,20 @@
 -------------------------------------------------------------------------------
 thread local storage	no				yes
 -------------------------------------------------------------------------------
+arch i386		yes				yes
+-------------------------------------------------------------------------------
+arch amd64		no				yes
+-------------------------------------------------------------------------------
+arch alpha		???				???
+-------------------------------------------------------------------------------
+
+
+Status of 2.3.6:
+================
+
+i386	- looks fine, uploaded in unreleased
+
+amd64	- able to build, not tested
+
+alpha	- not even tried to build
+

Added: trunk/glibc-2.3-head/sysdeps/kfreebsd/x86_64/sigcontextinfo.h
===================================================================
--- trunk/glibc-2.3-head/sysdeps/kfreebsd/x86_64/sigcontextinfo.h	2006-01-18 23:27:24 UTC (rev 1073)
+++ trunk/glibc-2.3-head/sysdeps/kfreebsd/x86_64/sigcontextinfo.h	2006-01-19 09:44:31 UTC (rev 1074)
@@ -0,0 +1,25 @@
+/* Copyright (C) 1998, 1999, 2001, 2002 Free Software Foundation, Inc.
+   This file is part of the GNU C Library.
+
+   The GNU C Library is free software; you can redistribute it and/or
+   modify it under the terms of the GNU Lesser General Public
+   License as published by the Free Software Foundation; either
+   version 2.1 of the License, or (at your option) any later version.
+
+   The GNU C Library 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
+   Lesser General Public License for more details.
+
+   You should have received a copy of the GNU Lesser General Public
+   License along with the GNU C Library; if not, write to the Free
+   Software Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
+   02111-1307 USA.  */
+
+#define SIGCONTEXT int _code, struct sigcontext *
+#define SIGCONTEXT_EXTRA_ARGS _code,
+#define GET_PC(ctx)	((void *) (ctx)->sc_rip)
+#define GET_FRAME(ctx)	((void *) (ctx)->sc_rbp)
+#define GET_STACK(ctx)	((void *) (ctx)->sc_rsp)
+#define CALL_SIGHANDLER(handler, signo, ctx) \
+  (handler)((signo), SIGCONTEXT_EXTRA_ARGS (ctx))



Reply to: