[#7102] Ruby 1.3.4-990611 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990611 is out, check out:

20 messages 1999/06/11

[#7223] Ruby 1.3.4-990625 — Yukihiro Matsumoto <matz@...>

Ruby 1.3.4-990625 is out, check out:

14 messages 1999/06/25
[#7224] -Wl,-rpath on Linux (Re: Ruby 1.3.4-990625) — Ryo HAYASAKA <hayasaka@...21.u-aizu.ac.jp> 1999/06/25

早坂@会津大学です。

[ruby-dev:7115] Re: --enable-shared support

From: WATANABE Tetsuya <tetsu@...>
Date: 1999-06-15 04:51:58 UTC
List: ruby-dev #7115
渡辺哲也です。

HP-UX の話題です。

In message "[ruby-dev:7114] Re: --enable-shared support"
    on 99/06/15, Katsuyuki Komatsu <komatsu@sarion.co.jp> writes:

||# 本当の意味で共有するためには、書き込みのパーミッショ
||# ンがあってはダメなようです。
|
|実行権はともかく、dld.sl(5)のDESCRIPTIONの、

|という記述や、mmap(2)を見る限りではMAP_SHAREDを使っている
|わけではないでしょうから書き込み権が関係するというのが理解
|できないです。

tusc という Linux の strace のようなもので確認し
た結果です。

tusc については

http://askdonna.ask.uni-karlsruhe.de/hppd/FAQ/8-12.html

をどうぞ。

一部 MAP_SHARED のためなんでしょうか...

open("/usr/lib/libc.2", O_RDONLY, 0) ............................. = 3
fstat(3, 0x7f7e8f44) ............................................. = 0
read(3, "0210010e0512@ \0\0\0\0\0\0\0\0\0".., 128) ............... = 128
lseek(3, 128, SEEK_SET) .......................................... = 128
read(3, "10\0\004\0\0\0( \010ebb4\0\010\0".., 48) ................ = 48
read(3, "80\0\0\v\0\0\004\0\0\0\0", 12) .......................... = 12
lseek(3, 245760, SEEK_SET) ....................................... = 245760
read(3, "058cy 10\0\006dc\0\0\0p \0\0\002".., 112) ............... = 112
mmap(NULL, 1110016, PROT_READ|PROT_EXEC, MAP_SHARED|MAP_SHLIB, 3, 0x3c000) = 0xc0017000
mmap(NULL, 90112, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_ANONYMOUS|MAP_SHLIB, -1, NULL) = 0x7f7cb000
mmap(0x7f7c2000, 36864, PROT_READ|PROT_WRITE|PROT_EXEC, MAP_PRIVATE|MAP_FIXED|MAP_SHLIB, 3, 0x14b000) = 0x7f7c
2000
close(3) ......................................................... = 0

古い UNIX Magazine に HP-UX の共有ライブラリの話
の解説があり、この辺の話がでていたように思うので
すが、具体的にあったかどうかは覚えていません。す
いませんです。

ただ、過去にトラブルがあったときに、このパーミッ
ションが影響する事例がありました。詳しくは覚えて
いないのですが... 以来、書き込みパーミッションは
つけないようにしています(気がつけば)。

|curses.sl等の拡張ライブラリも0755ではなく0555の方が
|いいのでしょうか?

ユーザレベルで考えると... よく使用するのでしたら、
0555 の方がいいと思います。

リリースする立場では、0555 の方がいいと思います。

いま、Perl 5.00502 を確認したら、

$ pwd
/t/lib/perl5/5.00502/PA-RISC2.0
$ ls -lF auto/*/*.sl
-r-xr-xr-x   1 root     sys        102400 Feb 25 19:31 auto/B/B.sl*
-r-xr-xr-x   1 root     sys         16384 Feb 25 19:31 auto/Fcntl/Fcntl.sl*
-r-xr-xr-x   1 root     sys         20480 Feb 25 19:31 auto/IO/IO.sl*
-r-xr-xr-x   1 root     sys         16384 Feb 25 19:31 auto/NDBM_File/NDBM_File.sl*
-r-xr-xr-x   1 root     sys         16384 Feb 25 19:31 auto/ODBM_File/ODBM_File.sl*
-r-xr-xr-x   1 root     sys         28672 Feb 25 19:31 auto/Opcode/Opcode.sl*
-r-xr-xr-x   1 root     sys        126976 Feb 25 19:31 auto/POSIX/POSIX.sl*
-r-xr-xr-x   1 root     sys         32768 Feb 25 19:31 auto/SDBM_File/SDBM_File.sl*
-r-xr-xr-x   1 root     sys         24576 Feb 25 19:31 auto/Socket/Socket.sl*
-r-xr-xr-x   1 root     sys         12288 Feb 25 19:31 auto/attrs/attrs.sl*
-r-xr-xr-x   1 root     sys         90112 Feb 25 19:31 auto/re/re.sl*

でした。自分で変更した覚えはないので、Perl も 
0555 にするようになったのですね。以前? は違いまし
た。ずいぶん昔の話かな?

--
WATANABE Tetsuya
 e-mail: Tetsuya_WATANABE@hp.com
         tetsu@jpn.hp.com

In This Thread