[#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
チケット #2036 が更新されました。 (by 和弥 寺元)
[#39248] pdeque - Double-Ended Priority Queue — Tanaka Akira <akr@...>
優先順位つきキューとして、このメールにつけてある pdeque.rb
[#39249] [Bug #2060] DLをCからRubyに変換する事を勧めます — Aaron Patterson <redmine@...>
Bug #2060: DLをCからRubyに変換する事を勧めます
なかだです。
2009/9/7 Nobuyoshi Nakada <nobu@ruby-lang.org>:
[#39277] Why doesn't Array#product return Enumerator? — Yusuke ENDOH <mame@...>
遠藤です。
まつもと ゆきひろです
遠藤です。
まつもと ゆきひろです
[#39282] [Bug #2067] bodyが大きいエラーページをopen-uriで取得するとfdがリークしている — takeru sasaki <redmine@...>
チケット #2067 が更新されました。 (by takeru sasaki)
まつもと ゆきひろです
なかだです。
まつもと ゆきひろです
In article <E1MliJq-0000yc-4o@x61.netlab.jp>,
言いだしっぺの佐々木です。
まつもと ゆきひろです
佐々木です。
In article <c507366f0909102211s5ae74f72r82afabdf57ae89@mail.gmail.com>,
[#39301] [Feature #2080] Proc#to_source, Method#to_source — Yuki Sonoda <redmine@...>
Feature #2080: Proc#to_source, Method#to_source
[#39322] [Feature #2093] String#stripの対象は\sか[:space:]か — Yui NARUSE <redmine@...>
Feature #2093: String#stripの対象は\sか[:space:]か
[#39325] makeターゲットrdevを抽象化 — "KISHIMOTO, Makoto" <ksmakoto@...4u.or.jp>
きしもとです
なかだです。
[#39352] [ruby19] Thread 切替えが異常に遅い? — Hidetoshi NAGAI <nagai@...>
永井@知能.九工大です.
なかだです。
永井@知能.九工大です.
ささだです.
永井@知能.九工大です.
なかだです。
[#39361] [Bug:1.9] ("00".."00").to_a => ["0"] — Nobuhiro IMAI <nov@...>
いまいです。
[#39367] Almost endless loop of BigMath::atan(x) when x.abs >= 1 — "Masahiro Kanai (CanI)" <cani.m.61st@...>
金井 仁弘と申します。
豊福です。遅い反応ですが。
豊福です。
金井です。
豊福です。
豊福です。
豊福です。
金井です。
[#39372] [Proposal] メンテナ確認大会のお知らせ — Yugui <yugui@...>
Yuguiです。
WXVndWkbJEIkNSRzJWEhPCVrJCIkaiQsJEgkJiQ0JDYkJCReJDckPyEjJDMkQSRpJEtKVj8uJDck
[#39385] Removing constant-able macros inside of the loop. — "Masahiro Kanai (CanI)" <cani.m.61st@...>
金井 仁弘と申します。
[#39388] Re: [ruby-cvs:32331] Ruby:r25113 (trunk): String#inspect's encoding should be fixed. — "Martin J. Dürst" <duerst@...>
成瀬さん、こんにちは。
こんにちは、なかむら(う)です。
成瀬です。
中村さん、成瀬さん、こんにちは。
MjAwOeW5tDnmnIgyOeaXpTEyOjMxICJNYXJ0aW4gSi4gRMO8cnN0IiA8ZHVlcnN0QGl0LmFveWFt
[#39404] [ANN] Ruby Developer's Meeting 20091013 — Yugui <yugui@...>
Yuguiです。
[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
金本と申します。 ご返答ありがとうございます。 >金本さんはコミット権欲しいですか? いただけるならとてもうれしいです。 ただ、中田さんに御指摘頂いたように、わかっていないことがあるので、 もし頂けても基本的に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)
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