1 名前:デフォルトの名無しさん [2006/04/18(火) 19:57:04 ] 史上最強かもしれないツール、GCC(GNU Compiler Collection)について語るスレ。 GNU本家のGCCページ gcc.gnu.org/ Binutils - Collection of binary utilities ←これも必要だぞ。 www.gnu.org/directory/GNU/binutils.html GNU Binutils sources.redhat.com/binutils/ GCC online documentation gcc.gnu.org/onlinedocs/ Installing GCC gcc.gnu.org/install/ GCC Timeline gcc.gnu.org/releases.html#timeline Calendar gcc.gnu.org/develop.html#timeline
528 名前:デフォルトの名無しさん mailto:sage [2007/02/20(火) 17:30:59 ] 4.1.2も3.4.6に比べて大分性能悪くなってた 4.0系は試してないから分からないけど
529 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:00:01 ] -fwhole-compile --combine って C++ で使えない? 1クラスだけの簡単なサンプルでやってもメンバ関数が undefined reference に なってしまうんだが。v4.1.2、ちなみに C なら問題ない。 仕方ないので、単体ファイル毎に -fprofile-generate/use して自分ツールビルド してみたら 1% 速くなたw まあこれでもいっか、と MinGW で同じようにやったら internal compiler error orz
530 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:13:03 ] >>529 書き間違い済まぬ -fwhole-program っすね
531 名前:デフォルトの名無しさん mailto:sage [2007/02/21(水) 04:15:13 ] 今試したらできなかった -fwhole-compileじゃなくて-fwhole-programだったけど
532 名前:デフォルトの名無しさん mailto:sage [2007/02/24(土) 22:35:57 ] 進歩した部分もあれば後退した部分もあるから gcc-4 はまだまだ主流になれそうにないね。 最適化パスが Tree SSA と RTL で重複し始めてるような気もするが?
533 名前:デフォルトの名無しさん mailto:sage [2007/02/25(日) 16:08:15 ] >>528 4.0はもっとひどかった。4.1になってちょっとマシになった。
534 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 03:37:49 ] SPECの結果って最近どうなの?
535 名前:デフォルトの名無しさん [2007/02/26(月) 23:17:10 ] 2CPU構成で1CPUしか使ってくれないソフトをGCC4.1でOpenMPを有効にしてmakeすれば2CPU使ってくれるのでしょうか? GCCマスターのお知恵をおかしください・・・
536 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:24:16 ] >>535 そうはいかんざき。 OpenMP用にソースにちょっと手を入れないといけない。
537 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:41:18 ] 1位3.3系 2位3.4系 3位4.1系
538 名前:535 [2007/02/26(月) 23:42:09 ] >>536 アホらしい質問すいません。 ありがとうございます。 SolarisやLinuxでnbenchというCPUの性能を測るものがあって、これを複数CPUで動かして計測したいのですが、1CPUでしか動いていませんでした。 オプションに-fopenmpをつけてmakeすれば複数CPU対応版になってくれれば良いな、と思った次第です。 世の中そんな甘くないのですね。 SolarisやLinuxで複数CPUに対応したCPUベンチマークソフトがあれば良いのですがね。
539 名前:デフォルトの名無しさん mailto:sage [2007/02/26(月) 23:54:46 ] 横から失礼します。 -ftree-vectorizeで並列化した場合は、マルチCPUで効果があるのでしょうか。
540 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 01:22:01 ] >>539 vectorizeはSSEを使った高速化じゃないの? だとすれば、一つのコアしか使わないと思われ。 >>538 プラグマで、OpenMPの対象とするforループを指定してやるとかすればいい。
541 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 04:33:48 ] 目的がよく分からないんだけど,元々1CPU用のベンチを自分で適当に弄って 意味あるの? 元の製作者がやるんだったらともかく
542 名前:デフォルトの名無しさん mailto:sage [2007/02/27(火) 10:03:51 ] >>538 そんなあなたに、Intel compiler。 -parallelオプションで、ある程度自動で並列化してくれる。 非商用目的なら無償で入手できます。
543 名前:デフォルトの名無しさん mailto:sage [2007/02/28(水) 03:50:56 ] >>539 ubench とか sysbench とか。 んでも、1 個のベンチマークツールだけに頼らない方が良いよ。 それと、なるべく自分が想定しているアプリに近い負荷で試した方が良い。 アプリに付属しているベンチマークツールを使うとかね。 マイクロベンチマークは落とし穴がいっぱいあるから、きちんと統計情報も 取得した方が良いよ。
544 名前:デフォルトの名無しさん mailto:sage [2007/03/06(火) 07:21:59 ] Mingwが3.4.6出す夢を見た。
545 名前:デフォルトの名無しさん [2007/03/11(日) 13:00:40 ] gcc 4.2の正式リリース予定日はまだ決まっていないのでしょうか?
546 名前:デフォルトの名無しさん mailto:sage [2007/03/11(日) 15:01:01 ] 3月中旬
547 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 14:12:52 ] gcc-4.2って>>527 の話があったけど、どうなったの? 3月中旬にリリースってことは、結局そのままリリースするのかな?
548 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 15:17:29 ] その様だ 明日RC1が出る GCC 4.2.0 RC1 Status gcc.gnu.org/ml/gcc/2007-03/msg00348.html
549 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 15:37:34 ] となると、4.2はスルーしたほうがよさげだなぁ
550 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 18:34:29 ] >>547 ttp://d.hatena.ne.jp/c-yan/20070305/1173092465 3/4 に続行って出てた
551 名前:デフォルトの名無しさん mailto:sage [2007/03/12(月) 19:50:02 ] >>550 Thanks ttp://gcc.gnu.org/ml/gcc/2007-03/msg00130.html のステータスレポートですな んでヲレは当分は4.1のままでいることにしますだ
552 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 02:58:57 ] 現時点での最強のgccを教えてください
553 名前:デフォルトの名無しさん mailto:sage [2007/03/13(火) 03:03:20 ] gcc
554 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 09:37:39 ] ecc
555 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 11:17:05 ] .2.95.3 に決まってる
556 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 15:25:25 ] あれはよかったのう… どこで間違ったんですかねえ
557 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 19:38:12 ] 長い間バージョンが上がらなかった反動で 出来がいかに糞でもバージョンが上がればいいと思い込んでしまったところ。
558 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 21:31:36 ] Makefileについてなんですが、現在以下のようなフォルダ構成でsrc以下 にソースファイルを置いています。 ┬src ├obj └run Makefileはrunにおいていて、makeコマンドを実行したら.oはobjに置かれ、 実行ファイルだけrunにできて欲しいのです。 しかし、makeコマンドを実行した場所に一緒に.oができてしまい、イライラしています。 Makeファイルはrun以下に置いて、.oはobj以下に作成されるというような解決方法は ないでしょうか?
559 名前:デフォルトの名無しさん mailto:sage [2007/03/15(木) 22:58:01 ] >>558 マニュアル読め。 そんなの質問するようなことか?
560 名前:558 mailto:sage [2007/03/15(木) 23:48:26 ] MakefileでVPATHとOPTIONってどうやって両方とも有効にすればいいんでしょうか? VPATH = ../src OPTION= -D_NDEBUG abc.o : a.c b.c c.c #[tab]$(CC) $(OPTION) -c $@ こんな感じでやっても、OPTIONが有効になりません。 かといって、#を削っても今度はVPATHが有効になりません。 どなたか、お助けを。
561 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 00:22:31 ] >>558 GNU make のパターンルールくらい嫁。基本じゃん $(target): $(objects) $(objects): ../obj/%.o: ../src/%.c
562 名前:389 mailto:sage [2007/03/16(金) 10:34:15 ] >>558 gccの話をしれ
563 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:43:52 ] 質問 転職してVisualC++を使う開発からGCCを使う開発に変わるんだが VC++のようなIDEって無いの? GCCとViが基本?
564 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:50:19 ] emacs
565 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:51:20 ] >>563 eclipse+cdtとかkdevelopとか
566 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 15:52:44 ] >>563 ttp://pc11.2ch.net/test/read.cgi/linux/1039282447/
567 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 16:19:25 ] 皆さんThx!
568 名前:デフォルトの名無しさん mailto:sage [2007/03/16(金) 21:24:45 ] いまさらですがMakefileの話題はこちらへ make makes many problems pc11.2ch.net/test/read.cgi/tech/1029599472/
569 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 02:50:56 ] >>548 の後、相次いでバグが発見されたために延ばし延ばしになっていたRC1がようやく出ました。 GCC 4.2.0 RC1 gcc.gnu.org/ml/gcc/2007-03/msg00636.html ヤレヤレ…
570 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 06:35:48 ] なにがヤレヤレ…なの?
571 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:01:22 ] >>570 >>569 のメール読めばすぐ分かるだろ. > we still have quite a number of GCC 4.2.0 P1s which concern me.
572 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:15:00 ] バグの出方を考えると、どう考えてもリリース品質とはいえないシロモノなのに、 RCにしちゃっていいの? 4.1と比べて、あまり最適化周りの性能向上もしていない ようだし。
573 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 13:24:45 ] 性能向上、どころか性能低下がかなり激しくて問題視されてる。 4.3は期待出来そうなんだが… まぁこの経験を生かしてこれからはより良い開発プロセスを作ってほしいね。
574 名前:デフォルトの名無しさん mailto:sage [2007/03/18(日) 20:12:54 ] 4.xと3.xの比較ではどんなにググっても3.xがいいという人しか見つかりませんが 4.xでしかコンパイルできないソースを書かない限りは3.xでFAなんかいな?
575 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:05:34 ] 3.4以降が4.xになったんじゃないの。 どうせ最高性能は2.95なんだから、最新がほしけりゃ4シリーズを使うべき だと思うけどね〜。まあ、lvalue assignmentの問題とか致命的な人には 致命的なんだろうけどさ。
576 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:55:31 ] C言語しか使わない人は2.95でもいいかもしれないけど、 C++ 使う人には思い出したくない過去な気が
577 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 01:56:12 ] Linuxのメジャーどころのディストリビューションが3.x以降に移行し、 FreeBSDも5以降は3.xに移行してから結構時間が経ってしまっている現状、 2.95.xではmakeが通らないアプリも結構あるからなぁ。 ってことで、Solarisで長いこと付属のcompanion CDに入っていた2.95.3を 使ってきたけど、SunFreewareの3.4.6に入れ替えた。 にしても、4.2がリリースされたら、4.1から入れ替えちゃって4.1がつかえなくなる ディストリビューションがありそう。Debianの場合、パッケージが用意されているのは 2.95、3.3、3.4、4.1なので、4.2がリリースされても大丈夫だろうし、FreeBSDのportsも そんな感じだから、ヲレ的には無問題なんだけど。
578 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 03:35:37 ] >>577 Solaris 10 以降だったら /usr/sfw/bin の下に GCC 入ってるよ。 バージョンが幾つだったか忘れたけど。
579 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 12:02:31 ] >>576 C++はそうだね。3.x以降で劇的に変わっているし。 あと、amd64などの新しいアーキテクチャへの対応もあるし。 にしても、>>575 のいう最高性能が2.95っていう理由がよくわからんのだけど。 まさかコンパイル速度だけを見ているわけじゃないよね?
580 名前:デフォルトの名無しさん mailto:sage [2007/03/19(月) 16:05:58 ] 見ているわけだろ。
581 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 15:55:40 ] コンパイル速度しか見ていないヤシ、以前UNIX板のgccスレにも湧いていたな
582 名前:389 mailto:sage [2007/03/20(火) 17:11:47 ] コンパイル速度とコードサイズの小ささは2.95のがよかったな。 実行速度は比べたことないんでしらんけど。 まぁ C99 や C++ や他のフロントエンドを考えると今更戻る気はしないな
583 名前:デフォルトの名無しさん mailto:sage [2007/03/20(火) 17:57:44 ] 実行速度は自分が使うやつでは3.3が一番速かった 4.1は姫野ベンチってやつでは-O2以上にすると何故か3.4に比べて2倍くらい遅くなってた -O1とかでもそれまでと比べて遅くなってるけど
584 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 09:43:40 ] 姫野ベンチのソースコードは公開されてるの?
585 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 10:57:09 ] されてるよ。ググればトップに出て来るけど。
586 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 14:45:25 ] fortranがベースなのか?
587 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 17:59:33 ] ご自分でどうぞ。
588 名前:デフォルトの名無しさん mailto:sage [2007/03/21(水) 20:22:54 ] >>586 Fortranベースじゃないかな。トップページに、Cの配列宣言をFortranに合わせた、って記述が。 言語の特性上、だいたいベンチ系はFortranベースのものが多いし。
589 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 15:52:02 ] 下のページを試しているのですがgcc時にエラーが出てしまいます ttp://www.hellohiro.com/native.htm jni.hがないと言われるのですが、lsで確認したところ存在します。 どこがまずいのでしょうか・・助けてください。 bash$ gcc -shared -l/usr/java/jdk1.6.0/include/ -l/usr/java/jdk1.6.0/include/linux/ HelloWorldJNI.cpp -o libHelloWorldJNI.so HelloWorldJNI.cpp:1 から include されたファイル中: HelloWorldJNI.h:2:17: error: jni.h: そのようなファイルやディレクトリはありません HelloWorldJNI.h:15: error: ‘JNIEXPORT’ does not name a type HelloWorldJNI.cpp:2: error: ‘JNIEXPORT’ does not name a type bash$ ls -l /usr/java/jdk1.6.0/include/jni.h -rw-r--r-- 1 root root 67831 11月 29 18:49 /usr/java/jdk1.6.0/include/jni.h
590 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:07:14 ] l じゃなくて I だよ lは -lpthreadみたいにライブラリに対して使う
591 名前:デフォルトの名無しさん mailto:sage [2007/03/23(金) 17:59:14 ] >>590 ありがとうございます できました 本当に助かりました
592 名前:デフォルトの名無しさん [2007/03/31(土) 20:35:04 ] 4系ってコンパイルを正常に終わらせられるソフトウェアはまだ多くないと聞いたんだけど それと、Debianは2.95からパッケージに置いてあるのに Fedoraは3.3より先は切り捨てられているのはどうかと思うが
593 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:37:45 ] debianってそういうディストロだし fedoraってそういうディストロだし
594 名前:デフォルトの名無しさん [2007/03/31(土) 20:39:14 ] >>593 で、4系ってどうなのよ アレな出来なのか?
595 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:46:50 ] 4.0 まぁ許容範囲 4.1 ギリギリ許容範囲 4.2 …だめぽ 4.3 期待の新星 javaとfortranについては順調に進歩してる。 が、肝心のcが… コンパイル時間は増える、バイナリはでかくなる&遅くなる、 でいい事あんまなし。
596 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 20:54:41 ] >>595 ありがとう まだ3系のほうがいいのね・・・
597 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:15:44 ] 4.0 転換期。まぁ少しの性能の低下はしかたない。 4.1 すこし性能が回復。まだ3.6に及ばず。 4.2 なにそれうまい? 4.3 memcpy! memcpy!
598 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:42:26 ] 何と引き換えに性能が劣化してるの?
599 名前:デフォルトの名無しさん mailto:sage [2007/03/31(土) 22:47:07 ] >>598 www.jp.redhat.com/magazine/NO5/
600 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 04:48:19 ] IA32への対応はそろそろ限界なのでは?
601 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 09:48:20 ] 案の定、4.2で多くのパッケージをコンパイルしたアホなLinuxのディストロが出てきたねぇ。
602 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:11:17 ] 俺は使わないが、問題の炙り出しになるので大歓迎。
603 名前:デフォルトの名無しさん mailto:sage [2007/04/01(日) 10:40:42 ] 問題の炙り出しっつーても… これ、どうせ廃棄ものだぜ? 2.96や3.3みたいに残しておく価値ないし 4.2で握るんなら4.3cvsで握ってくれた方がうれしいよ… たとえ爆死してもまだ納得できる
604 名前:デフォルトの名無しさん mailto:sage [2007/04/02(月) 17:28:52 ] >>601 Momonga 4なら4.2は捨てて4.1で行くことにしたらしいぞ。 ttp://developer.momonga-linux.org/wiki/?Momonga+Linux+4 ttp://developer.momonga-linux.org/wiki/?gcc-4.2
605 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 00:22:24 ] そんな日本ローカルな鳥なんてどうでもいい。
606 名前:デフォルトの名無しさん mailto:sage [2007/04/03(火) 02:06:59 ] あー momonnga ってまだあったんだー
607 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 11:14:29 ] gcc(ていうかGNU ld?)で、未使用な関数とかを自動的に除去して サイズ縮小したいんですが、そもそもそんな機能ありますか?
608 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:24:40 ] >>607 gcc -ffunction-sections -Wl,--gc-sections 以下略 ttp://www.radiumsoftware.com/0401.html#040126
609 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:53:16 ] 結果的に未使用な関数の除去は出来るけど、 -ffunction-sectionsは性能の低下を引き起こすので使用には注意。 結局、その手の機能はまだ実装されてないんだね…
610 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 12:56:30 ] >>608 アリガトン!でも除去してくれなかったよorz。
611 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 13:22:17 ] >>610 ソースを一つに纏めて、全ての関数にstaticをつけると未使用関数は消えてなくなるんじゃね?w
612 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 15:49:11 ] >>611 その辺を-fwhole-programが面倒見てくれるのかと思っていた時期もありました・・・
613 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 16:09:56 ] MacOSXでg++の4系列を使い始めたのですが, 以下のコードでコピーコンストラクタがないと起こられます. #include <iostream> using namespace std; class A { A (const A &p); A &operator = (const A &p); public: A () {} friend ostream &operator << (ostream &p_os, const A &p_a) {return p_os;} }; int main () { cout << A () << endl; return 0; } エラーメッセージは test.cpp:4: error: 'A::A(const A&)' is private test.cpp:12: error: within this context です.g++-3.3では起こられないのですが,これってg++-3.3の方が正しいですよね? powerpc-apple-darwin8-g++-4.0.1 (GCC) 4.0.1 g++-3.3 (GCC) 3.3 20030304
614 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 18:54:17 ] C++相談室で聞くことにします
615 名前:デフォルトの名無しさん mailto:sage [2007/04/07(土) 22:24:49 ] つ ttp://lists.apple.com/archives/xcode-users/2007/Mar/msg00193.html この辺の話じゃね?
616 名前:デフォルトの名無しさん mailto:sega [2007/04/15(日) 07:47:47 ] a==1; これについて、Warningを吐いてくれるオプションってある? -Wall とか以外で。
617 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:11:39 ] warningを個別に禁止・許可することができるようになりましたか?
618 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 10:56:35 ] なんで道具に頼るんですか?
619 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 15:29:58 ] チェックを人間の目に頼るのは小学生まで
620 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 17:13:21 ] 幼稚園児?保育園児?
621 名前:デフォルトの名無しさん [2007/04/15(日) 20:45:08 ] >>617 2000年問題とかは個別に禁止・許可できるよ
622 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 20:53:26 ] まだできないようですね。やれやれ。
623 名前:デフォルトの名無しさん mailto:sage [2007/04/15(日) 22:09:08 ] できました。ありがとうございました。
624 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:19:47 ] ちょっと.code16モードで生成されるコードに疑問があるので質問させてください。 __asm__(".text\n.code16\n.global _start\n_start:\njmp boot_main\n"); void asm_putc_ng(char c) { __asm__("int $0x10" :: "a"(0x0e00|c), "b"(0x7)); } void asm_putc_ok(char c) { __asm__( "mov 6(%ebp), %eax\n\t" // ココ。gccは8(%ebp)を生成するが・・・ "or $0x0e00, %ax\n\t" "mov $0x07, %bx\n\t" "int $0x10\n\t"); } void boot_main(void) { asm_putc_ok('D'); asm_putc_ng('D'); } BIOSコールで文字を出力するサンプルですが、.code16モードだと 引数のスタック上位置の計算がおかしく、引数が正常に渡りません。 こんなコードが生成されます: asm_putc_ok: ! asm_putc_ng でも同様のプリアンブルを生成 pushl %ebp movl %esp, %ebp subl $4, %esp !char c用にスタック領域を取る movl 8(%ebp), %eax !第一引数をEAXに入れようとしてるがオフセットおかしくない? movb %al, -4(%ebp) !charなんでALだけ領域に書けば十分 リターンアドレスは16bitなので、ここは8(%ebp)でなく、6(%ebp)が 正しくないでしょうか?実際、それだと指定の文字を正しく出力します。 しかし、超メジャーなx86 gccでバグがあるとも思えないので、私が 単に16bitコード生成のための何かをしていないのではと悩んでます。 どうすれば正しいコードを生成させられるでしょうか?
625 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 00:41:38 ] >>624 それはそういう仕様 16bitモードで使いたいなら素直にnasmでも使っとけ いや、絶対その方が不可解なところで悩まなくていいから。
626 名前:デフォルトの名無しさん mailto:sage [2007/04/17(火) 01:20:06 ] MJD?でもサンクスコ。しかし説明だけ読んでる限りだと .code16 - 16bit-based instruction, 32bit data .code16gcc - 16bit-based instruction (partly 32bit), 32bit data .code32 - full 32bit instruction/data となると思ってしまうよなー。実際には16bitモードなアセンブラを埋めるために 使うことだけ想定してて、16bit C compilerとして使うことは想定してないのね。
627 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 15:09:24 ] ttp://gcc.gnu.org/ml/gcc/2007-04/msg00509.html さてさて、4.2はどうなることやら。
628 名前:デフォルトの名無しさん mailto:sage [2007/04/18(水) 17:00:31 ] ttp://journal.mycom.co.jp/news/2007/04/10/019/index.html ってことで、FreeBSD 7はgcc-4.1にしようと作業中で、 アプリとコンパイラの両方でのバグ出しも進んでいるみたいですな。 4.2系と違って4.1系はsnapshotもきちんと1週間毎に出てきているし、 4.1.3は結構よさげなリリースになる予感。