head	1.5;
access;
symbols
	RELEASE_7_0_0:1.4
	RELEASE_6_3_0:1.4
	PRE_XORG_7:1.4
	RELEASE_4_EOL:1.4
	RELEASE_6_2_0:1.4
	RELEASE_6_1_0:1.2
	RELEASE_5_5_0:1.2
	RELEASE_6_0_0:1.2
	RELEASE_5_4_0:1.2
	RELEASE_4_11_0:1.2
	RELEASE_5_3_0:1.1
	RELEASE_4_10_0:1.1
	RELEASE_5_2_1:1.1
	RELEASE_5_2_0:1.1;
locks; strict;
comment	@# @;


1.5
date	2008.03.01.06.21.17;	author marcus;	state dead;
branches;
next	1.4;

1.4
date	2006.10.17.01.50.03;	author marcus;	state Exp;
branches;
next	1.3;

1.3
date	2006.10.14.08.35.41;	author marcus;	state dead;
branches;
next	1.2;

1.2
date	2004.11.24.08.09.11;	author pav;	state Exp;
branches;
next	1.1;

1.1
date	2003.10.20.05.32.13;	author marcus;	state Exp;
branches;
next	;


desc
@@


1.5
log
@Update to 1.8.4, and assign maintainership to submitter.

PR:		121137
Submitted by:	David Barksdale <amatus@@gnu.org>
@
text
@--- libguile/continuations.c.orig	Fri Sep 12 18:58:00 2003
+++ libguile/continuations.c	Wed Nov 24 07:50:54 2004
@@@@ -114,15 +114,6 @@@@
   return 1;
 }
 
-#ifdef __ia64__
-struct rv
-{
-  long retval;
-  long first_return;
-};
-extern struct rv ia64_getcontext (ucontext_t *) __asm__ ("getcontext");
-#endif /* __ia64__ */
-
 /* this may return more than once: the first time with the escape
    procedure, then subsequently with the value to be passed to the
    continuation.  */
@@@@ -135,9 +126,6 @@@@
   scm_t_contregs *rootcont = SCM_CONTREGS (scm_rootcont);
   long stack_size;
   SCM_STACKITEM * src;
-#ifdef __ia64__
-  struct rv rv;
-#endif
 
   SCM_ENTER_A_SECTION;
   SCM_FLUSH_REGISTER_WINDOWS;
@@@@ -162,17 +150,15 @@@@
   memcpy (continuation->stack, src, sizeof (SCM_STACKITEM) * stack_size);
 
 #ifdef __ia64__
-  rv = ia64_getcontext (&continuation->ctx);
-  if (rv.first_return)
+  continuation->backing_store = NULL;
+  getcontext(&continuation->ctx);
+  if (continuation->backing_store == NULL)
     {
       continuation->backing_store_size = 
-        continuation->ctx.uc_mcontext.sc_ar_bsp - 
-        __libc_ia64_register_backing_store_base;
-      continuation->backing_store = NULL;
+        continuation->ctx.uc_mcontext.mc_special.bspstore - (4UL << 61);
       continuation->backing_store = 
         scm_must_malloc (continuation->backing_store_size, FUNC_NAME);
-      memcpy (continuation->backing_store, 
-              (void *) __libc_ia64_register_backing_store_base, 
+      memcpy (continuation->backing_store, (void *)(4UL << 61),
               continuation->backing_store_size);
       *first = 1;
       return cont;
@@@@ -235,8 +221,7 @@@@
 
   continuation->throw_value = val;
 #ifdef __ia64__
-  memcpy ((void *) __libc_ia64_register_backing_store_base,
-          continuation->backing_store,
+  memcpy ((void *)(4UL << 61), continuation->backing_store,
           continuation->backing_store_size);
   setcontext (&continuation->ctx);
 #else
--- libguile/gc.c.orig	Wed Nov 24 07:41:44 2004
+++ libguile/gc.c	Wed Nov 24 07:53:51 2004
@@@@ -1041,8 +1041,8 @@@@
     scm_mark_locations ((SCM_STACKITEM *) &ctx.uc_mcontext,           \
       ((size_t) (sizeof (SCM_STACKITEM) - 1 + sizeof ctx.uc_mcontext) \
        / sizeof (SCM_STACKITEM)));                                    \
-    bot = (SCM_STACKITEM *) __libc_ia64_register_backing_store_base;  \
-    top = (SCM_STACKITEM *) ctx.uc_mcontext.sc_ar_bsp;                \
+    bot = (SCM_STACKITEM *) (4UL << 61);                              \
+    top = (SCM_STACKITEM *) ctx.uc_mcontext.mc_special.bspstore;      \
     scm_mark_locations (bot, top - bot); } while (0)
 #else
 # define SCM_MARK_BACKING_STORE()
--- libguile/init.c.orig	Sun Sep  5 23:05:37 2004
+++ libguile/init.c	Wed Nov 24 07:59:48 2004
@@@@ -188,6 +188,7 @@@@
   {
     scm_t_contregs *contregs = scm_must_malloc (sizeof (scm_t_contregs),
 					      "continuation");
+    memset(contregs, 0, sizeof(*contregs));
     contregs->num_stack_items = 0;
     contregs->seq = 0;
     SCM_NEWSMOB (scm_rootcont, scm_tc16_continuation, contregs);
--- libguile/root.c.orig	Sat Dec  7 22:41:32 2002
+++ libguile/root.c	Wed Nov 24 08:00:14 2004
@@@@ -254,6 +254,7 @@@@
       scm_t_contregs *contregs = scm_must_malloc (sizeof (scm_t_contregs),
 						"inferior root continuation");
 
+      memset(contregs, 0, sizeof(*contregs));
       contregs->num_stack_items = 0;
       contregs->dynenv = SCM_EOL;
       contregs->base = stack_start;
@


1.4
log
@Restore a patch lost in the GNOME 2.16 merge, and attempt to fix the build
on ia64.

Approved by:	portmgr (implicit)
@
text
@@


1.3
log
@Presenting GNOME 2.16.1 for FreeBSD.  This release represents a massive
amount of work by the FreeBSD GNOME Team and our testers.

On top of the usual GNOME update, we have taken this opportunity to move
GNOME from X11BASE to LOCALBASE.  This means roughly 600 ports NOT part of
the GNOME Desktop also need to be changed.  The bulk of the move was carried
out by ahze, mezz, and pav, but it would not have been possible without
cooperation from the FreeBSD KDE team who worked with us to make sure
GNOME and KDE can still coexist happily.  We would also like to send a
shout out to kris and pointyhat for putting up with multiple test runs
until we got something that was solid.

Back to GNOME 2.16.  This release brings a huge amount of new functionality
to FreeBSD.  The standard release notes can be read at
http://www.gnome.org/start/2.16/ .  But on top of what you will read there,
jylefort and marcus have completed work on a port of HAL to FreeBSD.  This
will allow FreeBSD to take advantage of closer hardware interaction such
as auto-mounting CD-ROMs, USB drives, and music players; auto-playing
audio CDs; and managing laptop power consumption.

But where would this all be without our loyal testers and contributors?
Therefore, the FreeBSD GNOME team would like to thank the following users:

Phillip Neumann <pneumann@@gmail.com>
tmclaugh
mux
Yuri Pankov <yuri.pankov@@gmail.com>
chinsan
Thomas <freebsdlists@@bsdunix.ch>
Brian Gruber <knightbg@@yahoo.com>
Franz Klammer <klammer@@webonaut.com>
Dominique Goncalves <dominique.goncalves@@gmail.com>
Pascal Hofstee <caelian@@gmail.com>
Yasuda Keisuke <kysd@@po.harenet.ne.jp>
backyard <backyard1454-bsd@@yahoo.com>
Andris Raugulis <endrju@@null.lv> <endrju@@null.lv>
Eric L. Chen <d9364104@@mail.nchu.edu.tw>
Pawel Worach <pawel.worach@@gmail.com>
QuiRK on #freebsd-gnome
Shane Bell <decept0@@gmail.com>
luigi
sajd on #freebsd-gnome
sat
Chris Coleman <chrisc@@vmunix.com>
kaeru on #freebsd-gnome
crsd_ via irc.freenode.org/#FreeBSD-GNOME
Joel Diaz <joeldiaz@@mac.com>

Enjoy!

Approved by:	portmgr (implicit, kris)
@
text
@@


1.2
log
@- Regenerate patch file

Reported by:	pointyhat via kris
@
text
@@


1.1
log
@Fix build and execution of guile on ia64:

*  Use continuation->backing_store to determine if we return for the first
   time from getcontext(). This avoids having to depend on non-POSIX semantics
   of the Linux implementation.
*  Avoid using __libc_ia64_register_backing_store_base by hardcoding the base
   of the backing store. The kernel is changed to put the backing store at
   this address. It's not entirely clean, but I want to avoid adding all sorts
   of variables in our libc for this for now.
*  Fix a genuine bug in the ia64 case: the ia64-specific fields are not
   initialized. On FreeBSD this means they have garbage (= 0xd0). Call
   memset() after allocation to make sure the contregs structure is properly
   cleared.  Since this may affect other architectures, this patch will be
   ia64 only.

Submitted by:	marcel
@
text
@d1 3
a3 3
--- libguile/continuations.c.orig	Sat Dec  7 14:41:31 2002
+++ libguile/continuations.c	Sun Oct 19 21:44:01 2003
@@@@ -114,16 +114,6 @@@@
d13 1
a13 2
-extern struct rv getcontext (ucontext_t *);
-extern int setcontext (ucontext_t *);
d19 1
a19 1
@@@@ -136,9 +126,6 @@@@
d29 1
a29 1
@@@@ -163,17 +150,15 @@@@
d33 1
a33 1
-  rv = getcontext (&continuation->ctx);
d48 1
a48 1
+      memcpy (continuation->backing_store, (void *)(4UL << 61), 
d52 1
a52 1
@@@@ -236,8 +221,7 @@@@
d62 2
a63 2
--- libguile/gc.c.orig	Sun Apr 20 11:16:59 2003
+++ libguile/gc.c	Sun Oct 19 21:44:01 2003
d70 1
a70 1
+    bot = (SCM_STACKITEM *) (4UL << 61);			      \
d75 2
a76 2
--- libguile/init.c.orig	Sat Dec  7 14:41:32 2002
+++ libguile/init.c	Sun Oct 19 21:44:01 2003
d85 3
a87 4
--- libguile/root.c.orig	Sat Dec  7 14:41:32 2002
+++ libguile/root.c	Sun Oct 19 21:44:01 2003
@@@@ -253,7 +253,7 @@@@
     {
d90 1
a90 1
-
@

