OpenSolaris総合スレッド その3
■ このスレッドは過去ログ倉庫に格納されています
0001名無しさん@お腹いっぱい。
2009/08/19(水) 07:20:38SUNからリリースされる本家「Solaris」に関しては専スレでお願いします
前スレ:OpenSolaris総合スレッド その2
http://pc12.2ch.net/test/read.cgi/unix/1236772561/
プロジェクト公式サイト ttp://opensolaris.org/
テンプレ:>>2-5
0592名無しさん@お腹いっぱい。
2009/12/12(土) 15:16:490593名無しさん@お腹いっぱい。
2009/12/13(日) 13:27:40GNU製のほうがよかったからあとから置き換えたの?
0594名無しさん@お腹いっぱい。
2009/12/13(日) 13:28:42本家Solarisの方は自前のを使ってるけどソース出したくないからOpenSolarisではGNUのに置き換えてる??
0595名無しさん@お腹いっぱい。
2009/12/13(日) 13:38:540596名無しさん@お腹いっぱい。
2009/12/13(日) 13:46:30お前はいろいろ間違ってる。
0597名無しさん@お腹いっぱい。
2009/12/13(日) 15:18:000598名無しさん@お腹いっぱい。
2009/12/13(日) 15:22:12"Open"Solaris ですから、ソースコードはきちんと公開されていますよ。
疑問を持たれたら、まず一次情報をお確かめになった方が良いと思います。
OpenSolaris の ls と rm
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/ls/ls.c
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/cmd/rm/rm.c
ちなみに GNU の ls や rm はこちら
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/ls.c
http://git.savannah.gnu.org/cgit/coreutils.git/tree/src/rm.c
0599名無しさん@お腹いっぱい。
2009/12/13(日) 15:57:14>GNU製のほうがよかったからあとから置き換えたの?
良いかどうかは別として、機能が多いし、ユーザも多いからね。
ls とか rm みたいなユーティリティは自前主義に拘っても仕方が無いし。
0600名無しさん@お腹いっぱい。
2009/12/13(日) 18:07:18悪意はないんだろうけど、実際踏んでクラッシュした。
0601名無しさん@お腹いっぱい。
2009/12/13(日) 18:24:57ドメインを見れば分かるが何の問題も無いサイトだぞ。
0602名無しさん@お腹いっぱい。
2009/12/13(日) 18:35:29lsのソースだけ今見たけど、かなりひどいなw
ネストがそこそこ深い上に、そいつが長いんだもん。
もう少し読みやすいコード書けよ・・・。
{}の対応どっかで見失いそうになるな・・・
0603名無しさん@お腹いっぱい。
2009/12/13(日) 18:51:08ネストが深いのはフラグの操作している所だけだし、複雑なコードでもないしね。
折角だから UTS の下も読んでみると良いですよ。
http://src.opensolaris.org/source/xref/onnv/onnv-gate/usr/src/uts/common/
0604名無しさん@お腹いっぱい。
2009/12/13(日) 18:58:35そうかこんなもんか・・・。
0605名無しさん@お腹いっぱい。
2009/12/13(日) 19:12:56システム系のプログラムはなかなか追えない。
0606名無しさん@お腹いっぱい。
2009/12/13(日) 19:32:02ネストが少ない方がいいのは確かだけど、意味のあるまとまりは
まとめておきたい。C++とかのソースでよく見る、無意味に細切れに
する傾向の方が閉口する。
ただ、OpenSolarisのls.cの最後の xmalloc ってなんかやばそう
3156 void *
3157 xmalloc(size_t size, struct lbuf *p)
3158 {
3159 if ((p = malloc(size)) == NULL) {
3160 perror("ls");
3161 free_sysattr(p); ←多分この先でsegmentation fault
3162 nvlist_free(response);
3163 exit(2);
3164 }
3165 return (p);
3166 }
0607名無しさん@お腹いっぱい。
2009/12/13(日) 19:44:133134 free_sysattr(struct lbuf *p)
3135 {
3136 int i;
3137
3138 if (p->exttr != NULL) {
3139 for (i = 0; i < sacnt; i++) {
3140 if (p->exttr[i].name != NULL)
3141 free(p->exttr[i].name);
3142 }
3143 free(p->exttr);
3144 }
3145 if (p->extm != NULL) {
3146 for (i = 0; i < sacnt; i++) {
3147 if (p->extm[i].name != NULL)
3148 free(p->extm[i].name);
3149 }
3150 free(p->extm);
3151 }
3152 }
3153
ほんとだ、どうみてもNULL渡せない
0608名無しさん@お腹いっぱい。
2009/12/13(日) 19:54:15pに直接mallocの返り値代入すんのかよ。
これあってんの?
0609名無しさん@お腹いっぱい。
2009/12/13(日) 20:42:29GNU版コマンドに置き換えたのですね。
0610名無しさん@お腹いっぱい。
2009/12/13(日) 20:49:12流れをちゃんと読めよ。バグ有り版がネイティブだっつの
0611名無しさん@お腹いっぱい。
2009/12/13(日) 20:54:23日本語をちゃんと読めよ。ネイティブのバグ有り版を回避するために
OpenSolarisではGNU版をデフォにしたんだろ? って >>609 は言ってるんだが。
0612名無しさん@お腹いっぱい。
2009/12/13(日) 20:56:27V7 版のソースコードも置いておきますね。
http://minnie.tuhs.org/UnixTree/V7/usr/src/cmd/ls.c.html
0613名無しさん@お腹いっぱい。
2009/12/13(日) 21:01:060614名無しさん@お腹いっぱい。
2009/12/13(日) 21:03:290615名無しさん@お腹いっぱい。
2009/12/13(日) 21:03:41malloc()で確保失敗してるpを
free_sysattr()内で参照してるからやべぇー!って話だよね?
0616名無しさん@お腹いっぱい。
2009/12/13(日) 21:08:102328 for (cp = s; *cp; ) {
2329 if (isascii(c = *cp)) {
2330 if (!isprint(c)) {
2331 if (qflg) {
2332 c = '?';
2333 } else {
2334 curcol += 3;
2335 (void) putc('\\', stdout);
2336 c = '0' + ((*cp >> 6) & 07);
2337 (void) putc(c, stdout);
2338 c = '0' + ((*cp >> 3) & 07);
2339 (void) putc(c, stdout);
2340 c = '0' + (*cp & 07);
2341 }
この辺ひどくね?
このifはANDでまとめてしまって良いと思うんだ。
0617名無しさん@お腹いっぱい。
2009/12/13(日) 21:21:07書き直してコミットしろよw
>>612
こっちの方がやっぱきれいだなw
>>615
だいたいあってる
0619名無しさん@お腹いっぱい。
2009/12/13(日) 21:39:25だから、OpenSolarisのネイティブのコマンドがバグってるから、
GNU版のコマンドを追加して、そっちをデフォにしたって話だろ。
0620名無しさん@お腹いっぱい。
2009/12/13(日) 21:47:150621名無しさん@お腹いっぱい。
2009/12/13(日) 21:50:37いいねえ
ls のスイッチを調べる while とかこんなですよ。
"*++*"なんてはじめて見た
>> while (*++*argv) switch (**argv) {
0622名無しさん@お腹いっぱい。
2009/12/13(日) 21:53:10もう>>598みたいなコードは書きたくなくなるはずだ。
だがしかし、お前らはもう書けない。
0623名無しさん@お腹いっぱい。
2009/12/13(日) 22:01:080624名無しさん@お腹いっぱい。
2009/12/13(日) 22:26:200625名無しさん@お腹いっぱい。
2009/12/13(日) 22:36:34>>624
どこまで権利を主張するかによるけど、場合によっては十分ありうるよ。
0626名無しさん@お腹いっぱい。
2009/12/13(日) 22:50:010627名無しさん@お腹いっぱい。
2009/12/13(日) 22:51:03使うのは7以来
そういえばSunView用のプログラムをコンパイルできるかな
0628名無しさん@お腹いっぱい。
2009/12/14(月) 13:38:41ほんとなんも知らんねんなぁ、バカゾウどもは。こまったもんだ。
0629名無しさん@お腹いっぱい。
2009/12/14(月) 13:50:127だとできたのかw?
0630名無しさん@お腹いっぱい。
2009/12/14(月) 13:52:40/usr/gnu/binにパス通してるあるだけで、置き換えてなんかないわけだが。
rm -rf /usr/gnu してもなんの問題もなく使えるよ、まともな Unixユーザーならねw
0631名無しさん@お腹いっぱい。
2009/12/14(月) 13:57:01>/usr/gnu/binにパス通してるあるだけで、
それを「置き換える」という。
0632名無しさん@お腹いっぱい。
2009/12/14(月) 13:58:18>rm -rf /usr/gnu してもなんの問題もなく使えるよ
ダウト。
gccが使えなくなる。
0633名無しさん@お腹いっぱい。
2009/12/14(月) 14:00:290634名無しさん@お腹いっぱい。
2009/12/14(月) 15:07:31代わりに pkg_add するもんで。pkgsrcね。
>633
はぁ? おもしれーな、追い詰めてみろよ、バカゾウ君w
0635名無しさん@お腹いっぱい。
2009/12/14(月) 15:09:42ls や rmは /bin にあるのがネイティブ。/usr/<なんとか> なんてのは
典型的なオプション部品。いらん機能盛りすぎなんだよ、GNUのはたいてい。
tarなんかよかったけどね。もう長いこと paxしか使ってない。
0636名無しさん@お腹いっぱい。
2009/12/14(月) 17:03:55オープンソースになったんだっけか?
0637610
2009/12/14(月) 21:40:330638名無しさん@お腹いっぱい。
2009/12/14(月) 21:46:350639名無しさん@お腹いっぱい。
2009/12/14(月) 21:48:33性能は知らんけど
0640名無しさん@お腹いっぱい。
2009/12/14(月) 22:17:20>>637 が言ってるのはコンパイラの事だと思われ。
性能はこことかに載ってるよ。
http://blogs.sun.com/BestPerf/entry/free_compiler_wins_nehalem_race
0641名無しさん@お腹いっぱい。
2009/12/14(月) 22:34:300642名無しさん@お腹いっぱい。
2009/12/14(月) 23:04:290643名無しさん@お腹いっぱい。
2009/12/14(月) 23:04:36いやね、linux kernelがgccでビルドすることしか想定されてない
gcc独自マクロべったべたなので、
OpenSolarisはどんなもんかなーって。
0644名無しさん@お腹いっぱい。
2009/12/14(月) 23:10:390645名無しさん@お腹いっぱい。
2009/12/14(月) 23:11:500646名無しさん@お腹いっぱい。
2009/12/14(月) 23:18:51SUNのコンパイラでビルドするのが
基本なんでしたっけ?
OpenSolarisは。
0647名無しさん@お腹いっぱい。
2009/12/14(月) 23:24:59ARM port は GCC でビルドしているみたいなので、
アセンブラさえ何とかできれば良いのかもしれませんが、
自分は無理です。
0648名無しさん@お腹いっぱい。
2009/12/15(火) 21:00:09zfs 使いたくて始めたとかですかねえ?
0649名無しさん@お腹いっぱい。
2009/12/16(水) 09:47:57ネットワーク機器か?
0650名無しさん@お腹いっぱい。
2009/12/16(水) 10:46:55NetBSDと同発想
0651名無しさん@お腹いっぱい。
2009/12/16(水) 12:45:490652名無しさん@お腹いっぱい。
2009/12/16(水) 14:25:180653名無しさん@お腹いっぱい。
2009/12/16(水) 14:32:14NetBSDでも組込み方面のポートはたいてい企業人がやってるよ。業務でね。
古いとこだと DECや SiByteとかも。日本の会社も結構ある。
その程度の知識もないで「個人の趣味」とか。笑うわw
0654名無しさん@お腹いっぱい。
2009/12/16(水) 14:39:53ttp://eetimes.jp/article/23101
0655名無しさん@お腹いっぱい。
2009/12/16(水) 15:50:54単にARM11 MPCoreの評価ボードってだけだから
何のために移植したかはやっぱりわからんよ。
0656名無しさん@お腹いっぱい。
2009/12/16(水) 16:54:500657名無しさん@お腹いっぱい。
2009/12/16(水) 17:21:49外部からはわからないと思っただけで
NaviEngine1 と Qemu で動くとリリースノートに書いてあることに
文句言ったわけじゃないじゃないの。
どうして何でも煽りのように受け取って答えるのですか。
いつも同じ人ですか?
0658名無しさん@お腹いっぱい。
2009/12/16(水) 17:38:43メモリ節約版のZFSが組み込まれてるらしいけど詳細はしらん
0659名無しさん@お腹いっぱい。
2009/12/16(水) 18:33:28> 外部からはわからないと思っただけで
そんなもん最後までわかんねーだろうが。自明。キモいんだよ君。
0660名無しさん@お腹いっぱい。
2009/12/16(水) 19:54:19煽り口調な人は、殆どの場合、レスが欲しいから
わざと罵声を浴びせる様な書き方をしてるんだよ。
好きな子に意地悪する感覚と似てるのかも。
0661名無しさん@お腹いっぱい。
2009/12/16(水) 22:07:23うるさい。だまれ
0662名無しさん@お腹いっぱい。
2009/12/17(木) 12:13:26違うぜ、バカにはバカって言っとかないとな。気がつかないから。
0663名無しさん@お腹いっぱい。
2009/12/17(木) 12:16:130664名無しさん@お腹いっぱい。
2009/12/17(木) 15:16:55x86でSPARCバイナリbuildして実機に持ってたりしますの?
0665名無しさん@お腹いっぱい。
2009/12/17(木) 15:59:140666名無しさん@お腹いっぱい。
2009/12/17(木) 18:12:470667名無しさん@お腹いっぱい。
2009/12/17(木) 19:43:14自分は殆ど遊びで使ってるからコンパイラもインストールして
ネイティブで -fast を付けてコンパイルするよ。
0668名無しさん@お腹いっぱい。
2009/12/18(金) 01:19:40すげえ、ダイエットしてる
0669名無しさん@お腹いっぱい。
2009/12/18(金) 02:07:14czfs, czpool というのが用意されてるのね。
試してみたいな。
0670名無しさん@お腹いっぱい。
2009/12/18(金) 09:34:24中の人?
0671664
2009/12/18(金) 12:42:18聞いたんですけど、皆あまり普段はしなさそうですね。
0672名無しさん@お腹いっぱい。
2009/12/18(金) 23:13:49ふ〜ん
0673名無しさん@お腹いっぱい。
2009/12/18(金) 23:21:300674名無しさん@お腹いっぱい。
2009/12/19(土) 00:25:40>ARM の CrossCompile はどうかってことの前置きで
それを書かないと誰も分からないよ。
>>664 には x86 で SPARC バイナリって書いてあるし。
クロスコンパイルはターゲットのコンパイル環境が貧弱ならするし、
そうじゃないならしない。好き嫌いとか流儀の問題じゃなくて、
必要か必要じゃないかの問題だから、必要ならやるよ。
0675名無しさん@お腹いっぱい。
2009/12/19(土) 05:51:15カナディアンクロスしてコンパイラを自前で用意までするかというと微妙だな。
0676名無しさん@お腹いっぱい。
2009/12/19(土) 14:08:36初心者が心配する事じゃないと思うが。
0677名無しさん@お腹いっぱい。
2009/12/21(月) 10:57:35んなアホなww クロスコンパイルは Linuxなんかこの世に無い頃から
フツーに行われてますがな。組込みもんは Unix上にクロス環境作るのが
フツーだったし。今でもルネサスのやつとか除いたらそうだと思うが。
0678名無しさん@お腹いっぱい。
2009/12/21(月) 14:19:50そのころは、CAD/CAE=ワークステーション=Sunのマシンっていう時代だったもんな。
0679名無しさん@お腹いっぱい。
2009/12/21(月) 14:39:36昔と違って携帯でFlashや3Dが動く時代だぞ。
0680名無しさん@お腹いっぱい。
2009/12/21(月) 15:05:560681名無しさん@お腹いっぱい。
2009/12/21(月) 15:18:54いや。困る場合は多いよ。
0682名無しさん@お腹いっぱい。
2009/12/21(月) 15:20:56OpenSolarisはSolarisのLinux版なので却下
0683名無しさん@お腹いっぱい。
2009/12/21(月) 15:24:540684名無しさん@お腹いっぱい。
2009/12/21(月) 15:25:39別環境でのクロスコンパイルとでは結果のバイナリーが微妙に異なって
結局クロスの方は使えないことが多い。
Linuxではクロスコンパイラもセルフコンパイラも同一バイナリーが生成され、
クロスコンパイラがきちんと作られてることがわかる。
よってクロスコンパイラはgcc/Linuxの文化。
0685名無しさん@お腹いっぱい。
2009/12/21(月) 15:28:47SolarisかOpenSolarisのどっちか。
OpenSolarisはコードが全部手に入るから、俺ならこっちを奨める。
>>682
Linuxと似てるだけで、嫌ならイジればいいじゃん
0686名無しさん@お腹いっぱい。
2009/12/21(月) 15:31:52完璧な結論だな
Solaris ⊂ Unixということに目を瞑ればよぉ〜
0687名無しさん@お腹いっぱい。
2009/12/21(月) 15:45:52オイオイ、クロスコンパイラって、何するものかわかってるか?
そもそも、セルフでも、コンパイラって何するものか理解できてれば、
そんなワケわからん発言はしないもんだよ。
セルフとクロスで同じもん作れないのは、環境作るウデがない、ってことだよ。
0688名無しさん@お腹いっぱい。
2009/12/21(月) 15:47:430689名無しさん@お腹いっぱい。
2009/12/21(月) 15:48:180690名無しさん@お腹いっぱい。
2009/12/21(月) 16:29:04やったことないんなら、そう言えばいいのに。どんどんミジメになるだけだぜ?
0691名無しさん@お腹いっぱい。
2009/12/21(月) 17:52:28「な、なんだってー!?」Mac・Windows・Linuxのファンは、それぞれをこう見てる
ttp://labaq.com/archives/51340188.html
ttp://image.blog.livedoor.jp/laba_q/imgs/e/9/e9a35982.jpg
・正確なことを言えば、どれももう古い。今はオープン・ソラリスだ。
・ここにソラリス・ファンのリストも加えると、彼らのPCは神の絵で、それ以外はうんちの山だろう。
■ このスレッドは過去ログ倉庫に格納されています