[#26266] pragma on ripper — nobuyoshi nakada <nobuyoshi.nakada@...>

なかだです。

15 messages 2005/06/02

[#26312] rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org>

最近、とあるプログラム(五月雨)が、無限ループに陥ることが何回かありました。

32 messages 2005/06/09
[#26323] Re: rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org> 2005/06/10

In article <TYOMLEM04Rqf69aZbLA0000002d@tyomlvem02.e2k.ad.ge.com>,

[#26329] Re: rb_gc_mark_threads spin — nobu@... 2005/06/10

なかだです。

[#26331] Re: rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org> 2005/06/11

In article <200506101543.j5AFhToG009328@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#26333] Re: rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org> 2005/06/11

In article <8764wlil9l.fsf@m17n.org>,

[#26334] Re: rb_gc_mark_threads spin — nobu@... 2005/06/11

なかだです。

[#26337] Re: rb_gc_mark_threads spin — Tanaka Akira <akr@...17n.org> 2005/06/11

In article <200506111335.j5BDZkoG019423@sharui.nakada.niregi.kanuma.tochigi.jp>,

[#26405] WEBrick DoS vulnerability — Tanaka Akira <akr@...17n.org>

NetBSD 2.0 で WEBrick を使って HTTP サーバを動かした場合、クライアント

24 messages 2005/06/29
[#26477] Re: WEBrick DoS vulnerability — GOTOU Yuuzou <gotoyuzo@...> 2005/07/08

ごとうゆうぞうです。

[#26480] Re: WEBrick DoS vulnerability — Tanaka Akira <akr@...17n.org> 2005/07/08

In article <20050708.175802.957830318.gotoyuzo@sawara.does.notwork.org>,

[#26481] Re: WEBrick DoS vulnerability — GOTOU Yuuzou <gotoyuzo@...> 2005/07/08

In message <87fyupzgcq.fsf@m17n.org>,

[#26421] Subversion — Shugo Maeda <shugo@...>

前田です。

24 messages 2005/06/30
[#26422] Re: Subversion — Yukihiro Matsumoto <matz@...> 2005/06/30

まつもと ゆきひろです

[#26423] Re: Subversion — "U.Nakamura" <usa@...> 2005/06/30

こんにちは、なかむら(う)です。

[ruby-dev:26297] Re: `_Unwind_Context' undeclared

From: Tanaka Akira <akr@...17n.org>
Date: 2005-06-07 03:03:03 UTC
List: ruby-dev #26297
In article <425F12C6.5020303@ruby-lang.org>,
  akira yamada <akira@ruby-lang.org> writes:

>> 現時点でのHEADをLinux/ia64環境でmakeすると以下のエラーが出ます。
>> 
>> gcc -g -O2   -I. -I.  -c eval.c
>> eval.c: In function `rb_thread_save_context':
>> eval.c:9838: error: `_Unwind_Context' undeclared (first use in this
>> function)

思ったんですが、これって要するに HP-UX の libunwind と Debian の
libunwind のインターフェースがぜんぜん違うという話ですよね。
http://docs.hp.com/en/B2355-60105/unwind.5.html
http://www.hpl.hp.com/research/linux/libunwind/

どうして HP-UX で libunwind を使うようになったのか把握できていないので
すが、もしその原因が Debian に適用されないのであれば、単純にもとのコー
ドを使うようにすればいいんじゃないでしょうか。

Index: configure.in
===================================================================
RCS file: /src/ruby/configure.in,v
retrieving revision 1.277
diff -u -r1.277 configure.in
--- configure.in	15 May 2005 09:56:49 -0000	1.277
+++ configure.in	7 Jun 2005 02:44:48 -0000
@@ -492,7 +492,8 @@
 	      getpriority getrlimit setrlimit\
 	      dlopen sigprocmask sigaction _setjmp\
 	      setsid telldir seekdir fchmod mktime timegm cosh sinh tanh\
-	      setuid setgid daemon)
+	      setuid setgid daemon \
+	      _UNW_createContextForSelf)
 AC_ARG_ENABLE(setreuid,
        [  --enable-setreuid       use setreuid()/setregid() according to need even if obsolete.],
        [use_setreuid=$enableval])
@@ -597,7 +598,7 @@
 AC_C_VOLATILE
 
 if test x"$target_cpu" = xia64; then
-    if test x"$ac_cv_header_unwind_h" = xyes; then
+    if test x"$ac_cv_header_unwind_h" = xyes -a x"$ac_cv_func__UNW_createContextForSelf" = xyes; then
 	LIBS="-lunwind $LIBS"
     else
 	AC_CACHE_CHECK(IA64 backing store member in mcontext_t, rb_cv_ia64_bspstore,
Index: eval.c
===================================================================
RCS file: /src/ruby/eval.c,v
retrieving revision 1.784
diff -u -r1.784 eval.c
--- eval.c	3 Jun 2005 14:23:14 -0000	1.784
+++ eval.c	7 Jun 2005 02:44:48 -0000
@@ -9678,7 +9678,7 @@
  */
 #define __libc_ia64_register_backing_store_base (4ULL<<61)
 #else
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 #include <unwind.h>
 #else
 #pragma weak __libc_ia64_register_backing_store_base
@@ -10265,7 +10265,7 @@
 #ifdef __ia64__
     {
 	VALUE *top, *bot;
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 	_Unwind_Context *unwctx = _UNW_createContextForSelf();
 
 	_UNW_currentContext(unwctx);
@@ -10425,7 +10425,7 @@
 #ifdef __ia64__
     {
 	VALUE *base;
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 	_Unwind_Context *unwctx = _UNW_createContextForSelf();
 
 	_UNW_currentContext(unwctx);
Index: gc.c
===================================================================
RCS file: /src/ruby/gc.c,v
retrieving revision 1.198
diff -u -r1.198 gc.c
--- gc.c	30 Apr 2005 02:59:41 -0000	1.198
+++ gc.c	7 Jun 2005 02:44:48 -0000
@@ -39,7 +39,7 @@
  */
 #define __libc_ia64_register_backing_store_base (4ULL<<61)
 #else
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 #include <unwind.h>
 #else
 #pragma weak __libc_ia64_register_backing_store_base
@@ -1347,14 +1347,14 @@
     {
 	ucontext_t ctx;
 	VALUE *top, *bot;
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 	_Unwind_Context *unwctx = _UNW_createContextForSelf();
 #endif
 
 	getcontext(&ctx);
 	mark_locations_array((VALUE*)&ctx.uc_mcontext,
 			     ((size_t)(sizeof(VALUE)-1 + sizeof ctx.uc_mcontext)/sizeof(VALUE)));
-#ifdef HAVE_UNWIND_H
+#if defined(HAVE_UNWIND_H) && defined(HAVE__UNW_CREATECONTEXTFORSELF)
 	_UNW_currentContext(unwctx);
 	bot = (VALUE*)(long)_UNW_getAR(unwctx, _UNW_AR_BSP);
 	top = (VALUE*)(long)_UNW_getAR(unwctx, _UNW_AR_BSPSTORE);
-- 
[田中 哲][たなか あきら][Tanaka Akira]

In This Thread