[#29700] ruby NKF モジュールの CP932 系エンコーディングパッチ — MORIYAMA Masayuki <moriyama@...>

ミラクルリナックスの森山です。

10 messages 2006/10/27

[#29726] cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...>

MoonWolfです。

74 messages 2006/10/31
[#29728] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29729] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/01

MoonWolfです。

[#29731] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/01

まつもと ゆきひろです

[#29745] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/02

MoonWolfです。

[#29751] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/02

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

[#29753] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29754] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

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

[#29756] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/03

MoonWolfです。

[#29759] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/03

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

[#29780] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29784] Re: cgi.rbのDoS脆弱性について — "U.Nakamura" <usa@...> 2006/11/04

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

[#29786] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/04

MoonWolfです。

[#29791] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/04

まつもと ゆきひろです

[#29811] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29818] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/05

まつもと ゆきひろです

[#29826] Re: cgi.rbのDoS脆弱性について — MoonWolf <moonwolf@...> 2006/11/05

MoonWolfです。

[#29761] Re: cgi.rbのDoS脆弱性について — 植田 裕之 <ueda@...> 2006/11/03

植田と申します。

[#29764] Re: cgi.rbのDoS脆弱性について — Yukihiro Matsumoto <matz@...> 2006/11/03

まつもと ゆきひろです

[ruby-dev:29699] Re: *LDFLAGSについて

From: "Nobuyoshi Nakada" <nobu@...>
Date: 2006-10-27 05:27:36 UTC
List: ruby-dev #29699
なかだです。

At Fri, 27 Oct 2006 02:47:47 +0900,
Yutaka Kanemoto wrote in [ruby-dev:29698]:
> すこし前の以下のパッチ
> * lib/mkmf.rb (init_mkmf): set default $LDFLAGS. Patch by Michal
> Suchanek <hramrach at centrum.cz>. [ruby-talk:216256]
> により、AIXで拡張ライブラリのcompileが通らなくなったので調べました。

すいません、そんなところに影響が出るとは。

> ひとつおたずねしたいのですが、*FLAGSという
> 変数について以下のように解釈したのですが、意図されているように
> 理解できていますでしょうか?
> DLDFLAGS        *.soの共有ライブラリを作る時にリンカにわたしたいもの
> XLDFLAGS        rubyコマンドをつくるとき"だけ"にリンカにわたしたいもの
> LDFLAGS         いつでもわたしたいもの

XLDFLAGSは実行ファイルを作るとき、かな?

> XLDFLAGSをminirubyにわたせばいいかと思ったのですが、
> 過去ログをみると、やはり、XLDFLAGSはrubyをリンクするときのみのためのもの
> のようです。
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/19723
> http://blade.nagaokaut.ac.jp/cgi-bin/scat.rb/ruby/ruby-dev/23588

[ruby-dev:23565]ではminirubyにもXLDFLAGSを使おうという話になってますね。

> minirubyにこのオプションがわたらない場合の現象としましては、
> make installの途中でcoreを吐いてしまいます。
> minirubyがetc.soのInit_etcにはいった中でおちています。

MINIOBJSにdmydln.oを追加して、minirubyでは拡張ライブラリをロードしない
ようにする、という方法もありますが。

> まとめますと、rubyとminirubyのリンク時にだけわたしたい
> オプションがあるのでなんとかしたい。ということになります。

これではどうでしょうか。-bオプションの順序は問題ではない、AIXでのダイ
ナミックリンクは独自っぽいのでdln_a_outは無効、と仮定してます。


Index: Makefile.in
===================================================================
RCS file: /pub/cvs/ruby/Makefile.in,v
retrieving revision 1.55.2.18
diff -U 2 -p -r1.55.2.18 Makefile.in
--- Makefile.in	1 Oct 2006 15:00:32 -0000	1.55.2.18
+++ Makefile.in	27 Oct 2006 04:34:29 -0000
@@ -98,5 +98,5 @@ all:
 miniruby$(EXEEXT):
 		@$(RM) $@
-		$(PURIFY) $(CC) $(MAINOBJ) $(MINIOBJS) $(LIBRUBY_A) $(LIBS)
$(OUTFLAG)$@ $(LDFLAGS) $(MAINLIBS)
+		$(PURIFY) $(CC) $(LDFLAGS) $(XLDFLAGS) $(MAINLIBS) $(MAINOBJ)
$(MINIOBJS) $(LIBRUBY_A) $(LIBS) $(OUTFLAG)$@

 $(PROGRAM):
Index: configure.in
===================================================================
RCS file: /pub/cvs/ruby/configure.in,v
retrieving revision 1.212.2.63
diff -U 2 -p -r1.212.2.63 configure.in
--- configure.in	22 Oct 2006 19:28:46 -0000	1.212.2.63
+++ configure.in	27 Oct 2006 04:44:38 -0000
@@ -1046,11 +1046,13 @@ if test "$with_dln_a_out" != yes; then
 			rb_cv_dlopen=yes ;;
         aix*)           if test "$GCC" = yes; then
-                           : ${LDSHARED='gcc -shared'}
-                           DLDFLAGS='-Wl,-G -eInit_$(TARGET)'
-                           LDFLAGS='-Wl,-brtl -Wl,-bE:ruby.imp'
-                        else
-                          : ${LDSHARED='/usr/ccs/bin/ld'}
-                          DLDFLAGS='-G -eInit_$(TARGET)'
-                          LDFLAGS="-brtl -bE:ruby.imp"
+			    : ${LDSHARED='$(CC) -shared'}
+			    DLDFLAGS='-Wl,-G -eInit_$(TARGET)'
+			    LDFLAGS='-Wl,-brtl'
+			    XLDFLAGS='-Wl,-bE:ruby.imp'
+			else
+			    : ${LDSHARED='/usr/ccs/bin/ld'}
+			    DLDFLAGS='-G -eInit_$(TARGET)'
+			    LDFLAGS='-brtl'
+			    XLDFLAGS='-bE:ruby.imp'
                         fi
                         : ${ARCHFILE="ruby.imp"}
@@ -1360,10 +1362,9 @@ if test "$enable_shared" = 'yes'; then
     aix*)
 	if test "$GCC" = yes; then
-	    LIBRUBY_LDSHARED='$(CC) -shared'
-	    LIBRUBY_DLDFLAGS='-Wl,-G -Wl,-bE:ruby.imp -Wl,-bnoentry'
+	    LIBRUBY_DLDFLAGS='-Wl,-G -Wl,-bnoentry'
 	else
-	    LIBRUBY_LDSHARED='/usr/ccs/bin/ld'
-	    LIBRUBY_DLDFLAGS='-G -bE:ruby.imp -bnoentry'
+	    LIBRUBY_DLDFLAGS='-G -bnoentry'
 	fi
+	LIBRUBY_DLDFLAGS="$LIBRUBY_DLDFLAGS $XLDFLAGS"
 	LIBRUBYARG_SHARED='-L${libdir} -lruby'
 	SOLIBS='-lm -lc'
@@ -1501,7 +1502,4 @@ case "$target_os" in
 	MINIOBJS=dmydln.o
 	;;
-    aix*)
-	PREINSTALL='@$(RM) -r $(prefix)/lib/$(LIBRUBY_A)
$(prefix)/lib/$(LIBRUBY_SO)
$(prefix)/lib/ruby/$(MAJOR).$(MINOR)/$(arch)'
-	;;
     *)
 	;;
@@ -1536,5 +1534,4 @@ AC_SUBST(COMMON_HEADERS)
 AC_SUBST(EXPORT_PREFIX)
 AC_SUBST(MINIOBJS)
-AC_SUBST(PREINSTALL)

 MAKEFILES="Makefile `echo $FIRSTMAKEFILE | sed 's/:.*//'`"


-- 
--- 僕の前にBugはない。
--- 僕の後ろにBugはできる。
    中田 伸悦

In This Thread