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: