金本です。


2009/9/10 Nobuyoshi Nakada <nobu / ruby-lang.org>:
> なかだです。
> これだと、LIBRUBY_DLDFLAGSには-bexpallがついて-bE:${ARCHFILE}が
> 含まれなくなるように見えます。
すみません。見落としていました。
添付のパッチでは削ってあります。

> gccなら-gxcoffを指定していますが、man gccではなんとなくどこで
> も-ggdbを指定しておけばよさそうな気もしなくもありません。
なぜかdbxしか頭になかったので、ためしにgdbをコンパイルしてみたのですが、
コンパイルが失敗しました。
-ggdbでコンパイルしてdbxから読んでみたのですが、ぜんぜん情報取れませんでした。

> ちなみに、-bEに指定するシンボルって、データだけじゃなくてテキス
> トについても有効なんでしょうか。今のところテキストシンボルは入れ
> ていないはずなので、もしかしたら_Init_つきを入れても入れなくても
> アクセスできてしまうとか。
簡単なプログラム書いて試したのですが、オプションによって
そうなる場合があるようです。
すくなくともldの-Gというオプションつきでライブラリを作るとエクスポートしていない関数とは
リンクできませんでした。

1.9.1p243は単にコンパイルしても
make: Circular .rbconfig.time <- miniruby dependency dropped.
make: ./miniruby: Command not found
make: *** [.rbconfig.time] Error 127
がでてしまって#2064のところまでいかないので、何かいじったあとの
現象のようです。
このあと別便(多少大きいので私信で)でnmの出力を参考のために送らせていただきます。
あたまに.がついたものを抜かないとワーニングがでまくってしまいます。
いただいたパッチを少し変更してとりあえずコンパイルが終了したものを送ります。
シンボルのタイプはここに列挙されてあります。
http://publib.boulder.ibm.com/infocenter/pseries/v5r3/index.jsp?topic=/com.ibm.aix.cmds/doc/aixcmds4/nm.htm

-- 
Yutaka KANEMOTO
http://d.hatena.ne.jp/kinpoco/
SW5kZXg6IGNvbmZpZ3VyZS5pbgo9PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09Ci0tLSBjb25maWd1cmUuaW4JKHJldmlzaW9u
IDI0ODI5KQorKysgY29uZmlndXJlLmluCSh3b3JraW5nIGNvcHkpCkBAIC0yMzksMTMgKzIzOSwx
OSBAQAogQUNfUFJPR19DQwogQUNfUFJPR19DWFgKIEFDX1BST0dfR0NDX1RSQURJVElPTkFMCi10
ZXN0ICRhY19jdl9wcm9nX2NjX2cgPSB5ZXMgJiYgOiAke2RlYnVnZmxhZ3M9LWd9CiBpZiB0ZXN0
ICIkR0NDIiA9IHllczsgdGhlbgogICAgIGxpbmtlcl9mbGFnPS1XbCwKICAgICA6ICR7b3B0Zmxh
Z3M9LU8zfQorICAgIGNhc2UgIiR0YXJnZXRfb3MiIGluCisgICAgICB3aGVuKGFpeCopCisgICAg
ICAgOiAke2RlYnVnZmxhZ3M9LWd4Y29mZn07OworICAgICAgd2hlbihsaW51eCp8Y3lnd2luKnxt
aW5ndyp8ZGFyd2luKikKKyAgICAgICA6ICR7ZGVidWdmbGFncz0tZ2dkYn07OworICAgIGVzYWMK
IGVsc2UKICAgICBsaW5rZXJfZmxhZz0KIGZpCit0ZXN0ICRhY19jdl9wcm9nX2NjX2cgPSB5ZXMg
JiYgOiAke2RlYnVnZmxhZ3M9LWd9CiAKIFJVQllfUFJPR19HTlVfTEQKIFJVQllfQ1BQT1VURklM
RQpAQCAtMTc0NSw5ICsxNzUxLDggQEAKIAkJCWZpCiAJCQlMRFNIQVJFRD0iJExEU0hBUkVEICR7
bGlua2VyX2ZsYWd9LUciCiAJCQlETERGTEFHUz0nLWVJbml0XyQoVEFSR0VUKScKLQkJCVhMREZM
QUdTPSIke2xpbmtlcl9mbGFnfS1iRTpydWJ5LmltcCAke2xpbmtlcl9mbGFnfS1icnRsIgotCQkJ
WExERkxBR1M9IiRYTERGTEFHUyAke2xpbmtlcl9mbGFnfS1ibGlicGF0aDoke3ByZWZpeH0vbGli
OiR7TElCUEFUSDotL3Vzci9saWI6L2xpYn0iCi0JCQk6ICR7QVJDSEZJTEU9InJ1YnkuaW1wIn0K
KwkJCTogJHtBUkNIRklMRT0icnVieS5leHAifQorCQkJWExERkxBR1M9IiR7bGlua2VyX2ZsYWd9
LWJFOiR7QVJDSEZJTEV9ICR7bGlua2VyX2ZsYWd9LWJydGwgJHtsaW5rZXJfZmxhZ30tYmxpYnBh
dGg6JHtwcmVmaXh9L2xpYjoke0xJQlBBVEg6LS91c3IvbGliOi9saWJ9IgogICAgICAgICAgICAg
ICAgICAgICAgICAgVFJZX0xJTks9JyQoQ0MpICQoTERGTEFHUykgLW9jb25mdGVzdCAkKElOQ0ZM
QUdTKSAtSSQoaGRyZGlyKSAkKENQUEZMQUdTKScKICAgICAgICAgICAgICAgICAgICAgICAgIFRS
WV9MSU5LPSIkVFJZX0xJTksiJyAkKENGTEFHUykgJChzcmMpICQoTElCUEFUSCkgJChMT0NBTF9M
SUJTKSAkKExJQlMpJwogCQkJOiAke0xJQlBBVEhFTlY9U0hMSUJfUEFUSH0KQEAgLTIwMzksNyAr
MjA0NCw3IEBACiAJTElCUlVCWV9BTElBU0VTPSdsaWIkKFJVQllfU09fTkFNRSkuc2wuJChNQUpP
UikuJChNSU5PUikgbGliJChSVUJZX1NPX05BTUUpLnNsJwogCTs7CiAgICAgd2hlbihhaXgqKQot
CUxJQlJVQllfRExERkxBR1M9IiR7bGlua2VyX2ZsYWd9LWJub2VudHJ5ICRYTERGTEFHUyIKKwlM
SUJSVUJZX0RMREZMQUdTPSIke2xpbmtlcl9mbGFnfS1ibm9lbnRyeSAke2xpbmtlcl9mbGFnfS1i
RToke0FSQ0hGSUxFfSAke2xpbmtlcl9mbGFnfS1icnRsIgogCUxJQlJVQllBUkdfU0hBUkVEPSct
TCR7bGliZGlyfSAtbCR7UlVCWV9TT19OQU1FfScKIAlTT0xJQlM9Jy1sbSAtbGMnCiAJOzsKQEAg
LTIxOTYsNiArMjIwMSw5IEBACiAJZXNhYwogICAgICAgICBNSU5JRExOT0JKPWRteWRsbi5vCiAJ
OzsKKyAgICB3aGVuKGFpeCopCisgICAgICAgIExERkxBR1M9IiRMREZMQUdTICR7bGlua2VyX2Zs
YWd9LWJtYXhkYXRhOjB4ODAwMDAwMDAiCisgICAgICAgIDs7CiAgICAgd2hlbigqbXNkb3Nkamdw
cCopCiAJRklSU1RNQUtFRklMRT1HTlVtYWtlZmlsZTpkamdwcC9HTlVtYWtlZmlsZS5pbgogCTs7
CkluZGV4OiBjb21tb24ubWsKPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09
PT09PT09PT09PT09PT09PT09PT09PT09PT09PQotLS0gY29tbW9uLm1rCShyZXZpc2lvbiAyNDgy
OSkKKysrIGNvbW1vbi5tawkod29ya2luZyBjb3B5KQpAQCAtMTY5LDggKzE2OSwxMCBAQAogCUAk
KFJNKSAkQAogCSQoUFVSSUZZKSAkKENDKSAkKE1BSU5PQkopICQoRExET0JKUykgJChFWFRPQkpT
KSAkKExJQlJVQllfQSkgJChNQUlOTElCUykgJChFWFRMSUJTKSAkKExJQlMpICQoT1VURkxBRykk
QCAkKExERkxBR1MpICQoWExERkxBR1MpCiAKLXJ1YnkuaW1wOiAkKEVYUE9SVE9CSlMpCi0JQCQo
Tk0pIC1QZ3AgJChFWFBPUlRPQkpTKSB8IGF3ayAnQkVHSU57cHJpbnQgIiMhIn07ICQkMn4vXltC
RF0kJC97cHJpbnQgJCQxfScgfCBzb3J0IC11IC1vICRACitydWJ5LmV4cDogJChFWFBPUlRPQkpT
KQorCUAkKE5NKSAtUGdwICQoRVhQT1JUT0JKUykgfCBcCisJYXdrICdCRUdJTntwcmludCAiIyEi
fTsgJCQyfi9eW0JEVF0kJC8mJiQkMSF+L14oSW5pdF98XC4pL3twcmludCAkJDF9JyB8IFwKKwlz
b3J0IC11IC1vICRACiAKIGluc3RhbGw6IGluc3RhbGwtbm9kb2MgJChSRE9DVEFSR0VUKQogaW5z
dGFsbC1hbGw6IGluc3RhbGwtbm9kb2MgaW5zdGFsbC1kb2MgaW5zdGFsbC1jYXBpCg==