From: Yutaka Kanemoto Date: 2009-09-11T01:58:54+09:00 Subject: [ruby-dev:39304] Re: exporting symbols on AIX (was: 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) --00c09f8e5c1432977504733c1df1 Content-Type: text/plain; charset=ISO-2022-JP Content-Transfer-Encoding: 7bit 金本です。 2009/9/10 Nobuyoshi Nakada : > なかだです。 > これだと、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/ --00c09f8e5c1432977504733c1df1 Content-Type: application/octet-stream; name="exp.diff" Content-Disposition: attachment; filename="exp.diff" Content-Transfer-Encoding: base64 X-Attachment-Id: f_fzfqhj4f0 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== --00c09f8e5c1432977504733c1df1--