[#39222] [Bug #2036] AIX 5L 5.2にて、ruby-1.8.7-p174のビルド時にmake testをするとエラーになった。not ok float 7 -- ./sample/test.rb:1232 — 和弥 寺元 <redmine@...>

Bug #2036: AIX 5L 5.2にて、ruby-1.8.7-p174のビルド時にmake testをするとエラーになった。not ok float 7 -- ./sample/test.rb:1232

13 messages 2009/09/03

[#39249] [Bug #2060] DLをCからRubyに変換する事を勧めます — Aaron Patterson <redmine@...>

Bug #2060: DLをCからRubyに変換する事を勧めます

10 messages 2009/09/07

[#39282] [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — takeru sasaki <redmine@...>

チケット #2067 が更新されました。 (by takeru sasaki)

15 messages 2009/09/10
[#39283] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — Yukihiro Matsumoto <matz@...> 2009/09/10

まつもと ゆきひろです

[#39284] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — Nobuyoshi Nakada <nobu@...> 2009/09/10

なかだです。

[#39297] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — Yukihiro Matsumoto <matz@...> 2009/09/10

まつもと ゆきひろです

[#39298] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — Tanaka Akira <akr@...> 2009/09/10

In article <E1MliJq-0000yc-4o@x61.netlab.jp>,

[#39302] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — takeru sasaki <sasaki.takeru@...> 2009/09/10

言いだしっぺの佐々木です。

[#39307] Re: [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — Yukihiro Matsumoto <matz@...> 2009/09/10

まつもと ゆきひろです

[#39345] [Bug #2111] Error:test_rm_f(TestFileUtils) — Kazuhiro NISHIYAMA <redmine@...>

Bug #2111: Error:test_rm_f(TestFileUtils)

11 messages 2009/09/17

[#39352] [ruby19] Thread 切替えが異常に遅い? — Hidetoshi NAGAI <nagai@...>

永井@知能.九工大です.

12 messages 2009/09/20

[#39367] Almost endless loop of BigMath::atan(x) when x.abs >= 1 — "Masahiro Kanai (CanI)" <cani.m.61st@...>

金井 仁弘と申します。

13 messages 2009/09/23
[#39980] Re: Almost endless loop of BigMath::atan(x) when x.abs >= 1 — TOYOFUKU Chikanobu <nobu_toyofuku@...> 2010/01/07

豊福です。遅い反応ですが。

[#39982] Re: Almost endless loop of BigMath::atan(x) when x.abs >= 1 — TOYOFUKU Chikanobu <nobu_toyofuku@...> 2010/01/07

豊福です。

[#39388] Re: [ruby-cvs:32331] Ruby:r25113 (trunk): String#inspect's encoding should be fixed. — "Martin J. Dürst" <duerst@...>

成瀬さん、こんにちは。

9 messages 2009/09/28

[ruby-dev:39276] Re: Fwd: [redmine4ruby-lang:253] [Bug #1914] ruby-1.9.1-p243 failed to build from source on aix 5.3 with gcc 4.2.0

From: Yutaka Kanemoto <kinpoco@...>
Date: 2009-09-09 14:20:59 UTC
List: ruby-dev #39276
金本と申します。

ご返答ありがとうございます。

>金本さんはコミット権欲しいですか?
いただけるならとてもうれしいです。
ただ、中田さんに御指摘頂いたように、わかっていないことがあるので、
もし頂けても基本的にMLで問い合わせをした上で、
了解を得られたらコミットの作業はこちらでするというふうに
させて頂きたいと思います。
そんなことでいいでしょうか?

> いつからdlopenが追加されたかわかりませんか。
AIXのV4のどこかで入ったようです。
4.3.3を昔触ったときに動いていたプログラムで使われていたと思います。
ruby-devの過去のメールを見ると、どうも4.1とかもっと古い頃のような気がします。

> Init_などをはじめとして、公開する必要のない関数はできればexport
> しないようにしたいと思っています。Yuguiさんにも、internalと明示
> されていない関数は公開APIと見なすよ、と脅かされているので。
> objcopyがなくても済むように、リンカオプションでできるのであれば
> MS-Windows(含cygwin)やDarwinのようにそこで処理したいのですが。
添付のパッチでは、expallをやめて、nmの出力からInit_つきのものを
抜いたファイルを作ってエクスポートするようにしてみたのですが、
いかがでしょうか?
ついでに今回はエクスポートなので、.expに変えてみました。

よろしくお願いいたします。
-- 
Yutaka KANEMOTO
http://d.hatena.ne.jp/kinpoco/

Attachments (1)

1.9.diff (5.67 KB, text/x-diff)
Index: configure.in
===================================================================
--- configure.in	(revision 24823)
+++ configure.in	(working copy)
@@ -1745,9 +1745,8 @@
 			fi
 			LDSHARED="$LDSHARED ${linker_flag}-G"
 			DLDFLAGS='-eInit_$(TARGET)'
-			XLDFLAGS="${linker_flag}-bE:ruby.imp ${linker_flag}-brtl"
-			XLDFLAGS="$XLDFLAGS ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"
-			: ${ARCHFILE="ruby.imp"}
+                        : ${ARCHFILE="ruby.exp"}
+			XLDFLAGS="${linker_flag}-bE:${ARCHFILE} ${linker_flag}-brtl ${linker_flag}-blibpath:${prefix}/lib:${LIBPATH:-/usr/lib:/lib}"
                         TRY_LINK='$(CC) $(LDFLAGS) -oconftest $(INCFLAGS) -I$(hdrdir) $(CPPFLAGS)'
                         TRY_LINK="$TRY_LINK"' $(CFLAGS) $(src) $(LIBPATH) $(LOCAL_LIBS) $(LIBS)'
 			: ${LIBPATHENV=SHLIB_PATH}
@@ -2039,7 +2038,7 @@
 	LIBRUBY_ALIASES='lib$(RUBY_SO_NAME).sl.$(MAJOR).$(MINOR) lib$(RUBY_SO_NAME).sl'
 	;;
     when(aix*)
-	LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry $XLDFLAGS"
+	LIBRUBY_DLDFLAGS="${linker_flag}-bnoentry ${linker_flag}-bexpall ${linker_flag}-brtl"
 	LIBRUBYARG_SHARED='-L${libdir} -l${RUBY_SO_NAME}'
 	SOLIBS='-lm -lc'
 	;;
@@ -2196,6 +2195,12 @@
 	esac
         MINIDLNOBJ=dmydln.o
 	;;
+    when(aix*)
+        if test "$GCC" = yes; then
+          CFLAGS=`echo $CFLAGS | sed -e 's/-g/-gxcoff/'`
+	fi
+        LDFLAGS="$LDFLAGS ${linker_flag}-bmaxdata:0x80000000"
+        ;;
     when(*msdosdjgpp*)
 	FIRSTMAKEFILE=GNUmakefile:djgpp/GNUmakefile.in
 	;;
Index: common.mk
===================================================================
--- common.mk	(revision 24823)
+++ common.mk	(working copy)
@@ -169,8 +169,8 @@
 	@$(RM) $@
 	$(PURIFY) $(CC) $(MAINOBJ) $(DLDOBJS) $(EXTOBJS) $(LIBRUBY_A) $(MAINLIBS) $(EXTLIBS) $(LIBS) $(OUTFLAG)$@ $(LDFLAGS) $(XLDFLAGS)
 
-ruby.imp: $(EXPORTOBJS)
-	@$(NM) -Pgp $(EXPORTOBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | sort -u -o $@
+ruby.exp: $(EXPORTOBJS)
+	@$(NM) -Pgp $(EXPORTOBJS) | awk 'BEGIN{print "#!"}; $$2~/^[BD]$$/{print $$1}' | egrep -v '^Init_' | sort -u -o $@
 
 install: install-nodoc $(RDOCTARGET)
 install-all: install-nodoc install-doc install-capi
Index: Makefile.in
===================================================================
--- Makefile.in	(revision 24823)
+++ Makefile.in	(working copy)
@@ -137,7 +137,7 @@
 
 miniruby$(EXEEXT):
 		@-if test -f $@; then $(MV) -f $@ $@.old; $(RM) $@.old; fi
-		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(DMYEXT) $(ARCHFILE) $(LIBS) $(OUTFLAG)$@
+		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ) $(MINIOBJS) $(COMMONOBJS) $(DMYEXT) $(LIBS) $(OUTFLAG)$@
 
 $(PROGRAM):
 		@$(RM) $@
Index: dln.c
===================================================================
--- dln.c	(revision 24823)
+++ dln.c	(working copy)
@@ -79,7 +79,7 @@
 
 #ifndef NO_DLN_LOAD
 
-#if defined(HAVE_DLOPEN) && !defined(USE_DLN_A_OUT) && !defined(_AIX) && !defined(MACOSX_DYLD) && !defined(_UNICOSMP)
+#if defined(HAVE_DLOPEN) && !defined(USE_DLN_A_OUT) && !defined(MACOSX_DYLD) && !defined(_UNICOSMP)
 /* dynamic load with dlopen() */
 # define USE_DLN_DLOPEN
 #endif
@@ -1144,55 +1144,6 @@
 #endif
 }
 
-
-#if defined(_AIX) && ! defined(_IA64)
-static void
-aix_loaderror(const char *pathname)
-{
-    char *message[8], errbuf[1024];
-    int i,j;
-
-    struct errtab {
-	int errnum;
-	char *errstr;
-    } load_errtab[] = {
-	{L_ERROR_TOOMANY,	"too many errors, rest skipped."},
-	{L_ERROR_NOLIB,		"can't load library:"},
-	{L_ERROR_UNDEF,		"can't find symbol in library:"},
-	{L_ERROR_RLDBAD,
-	     "RLD index out of range or bad relocation type:"},
-	{L_ERROR_FORMAT,	"not a valid, executable xcoff file:"},
-	{L_ERROR_MEMBER,
-	     "file not an archive or does not contain requested member:"},
-	{L_ERROR_TYPE,		"symbol table mismatch:"},
-	{L_ERROR_ALIGN,		"text alignment in file is wrong."},
-	{L_ERROR_SYSTEM,	"System error:"},
-	{L_ERROR_ERRNO,		NULL}
-    };
-
-#define LOAD_ERRTAB_LEN	(sizeof(load_errtab)/sizeof(load_errtab[0]))
-#define ERRBUF_APPEND(s) strncat(errbuf, s, sizeof(errbuf)-strlen(errbuf)-1)
-
-    snprintf(errbuf, 1024, "load failed - %s ", pathname);
-
-    if (!loadquery(1, &message[0], sizeof(message)))
-	ERRBUF_APPEND(strerror(errno));
-    for(i = 0; message[i] && *message[i]; i++) {
-	int nerr = atoi(message[i]);
-	for (j=0; j<LOAD_ERRTAB_LEN; j++) {
-           if (nerr == load_errtab[i].errnum && load_errtab[i].errstr)
-		ERRBUF_APPEND(load_errtab[i].errstr);
-	}
-	while (isdigit(*message[i])) message[i]++;
-	ERRBUF_APPEND(message[i]);
-	ERRBUF_APPEND("\n");
-    }
-    errbuf[strlen(errbuf)-1] = '\0';	/* trim off last newline */
-    rb_loaderror(errbuf);
-    return;
-}
-#endif
-
 #endif /* NO_DLN_LOAD */
 
 void*
@@ -1202,7 +1153,7 @@
     rb_raise(rb_eLoadError, "this executable file can't load extension libraries");
 #else
 
-#if !defined(_AIX) && !defined(NeXT)
+#if !defined(NeXT)
     const char *error = 0;
 #define DLN_ERROR() (error = dln_strerror(), strcpy(ALLOCA_N(char, strlen(error) + 1), error))
 #endif
@@ -1312,23 +1263,6 @@
     }
 #endif /* hpux */
 
-#if defined(_AIX) && ! defined(_IA64)
-#define DLN_DEFINED
-    {
-	void (*init_fct)();
-
-	init_fct = (void(*)())load((char*)file, 1, 0);
-	if (init_fct == NULL) {
-	    aix_loaderror(file);
-	}
-	if (loadbind(0, (void*)dln_load, (void*)init_fct) == -1) {
-	    aix_loaderror(file);
-	}
-	(*init_fct)();
-	return (void*)init_fct;
-    }
-#endif /* _AIX */
-
 #if defined(NeXT) || defined(MACOSX_DYLD)
 #define DLN_DEFINED
 /*----------------------------------------------------
@@ -1460,7 +1394,7 @@
 
 #endif /* USE_DLN_A_OUT */
 #endif
-#if !defined(_AIX) && !defined(NeXT)
+#if !defined(NeXT)
   failed:
     rb_loaderror("%s - %s", error, file);
 #endif

In This Thread