祝・GCC 3.0リリースat UNIX
祝・GCC 3.0リリース - 暇つぶし2ch43:名無しさん@お腹いっぱい。
01/12/26 17:29
>>39
いや、使えるならうれしいだけだけど、doorsってSolaris固有のRPCでしょ?
linuxでも試験的にあるとは聞いていたけど。

じゃ、<doors.h>入りのプログラムでもProCかForteつかわないでも動作テスト位ならgccでできるんだしょうか?
x86版Solaris&GCCでも?

44:名無しさん@お腹いっぱい。
02/01/17 03:56
3.1 はまだか…。3.0.3 はまだ恐くてよ~使えん。

45:名無しさん@お腹いっぱい。
02/01/17 05:36
>>42
C言語の仕様知ってます?
C++コンパイラでCを学習しているのでしょうか。

46:名無しさん@お腹いっぱい。
02/01/17 13:20
>42
あとでリンカエラーになる罠

47:45
02/01/17 20:07
いやだからさ、C言語の(略)
mangleされねーっての。


48:名無しさん@お腹いっぱい。
02/01/17 20:13
DX4-75のマシンで3.0.3ビルドしたら6時間位やってた...

49:なんだこいつ
02/01/19 12:29
>>43
お前、

> じゃ、<doors.h>入りのプログラムでもProCかForteつかわないでも動作テスト位ならgccでできるんだしょうか?
> x86版Solaris&GCCでも?

阿呆の癖に、

> いや、使えるならうれしいだけだけど、doorsってSolaris固有のRPCでしょ?
> linuxでも試験的にあるとは聞いていたけど。

こういうつまらん話から外れる口答えするなよな。
誰も相手にしてくれなくなるぞ。


50:
02/01/30 18:15
gcc-3.0.3 を入れてみようとコンパイルにチャレンジしてるんだけど,
warning の嵐なんだけど,これって無視していいの?
g++ でまともなテンプレートを使ってみたいってだけなんだけどさぁ・・・




51:名無しさん@お腹いっぱい。
02/01/30 18:20
もうすぐ gcc-3.0.4 出そうだねい。

52:名無しさん@お腹いっぱい。
02/01/30 19:33
>>49

????
で、使えるの?

53:ぴょんちゃん
02/01/31 00:16
GCC-3.X って、Propolice は組み込まれたのですか?

54:名無しさん@お腹いっぱい。
02/01/31 00:19
>53
組み込まれてないと思う。もっと会社ぐるみでプッシュしてほしいよね。
マージ熱望。


55:名無しさん@お腹いっぱい。
02/01/31 00:23
>>53
キノコ?

56:54
02/01/31 00:25
>>55
URLリンク(www.trl.ibm.com)


57:名無しさん@お腹いっぱい。
02/01/31 00:34
>>55
それはアガリクスだろう

58:
02/01/31 00:39
gcj って GUI のプログラムも作れたりするの? Swing とか・・・
さすがにウチのマシンじゃ gcc コンパイルするのは無理そうなので
断念したんだけど・・・

59:名無しさん@お腹いっぱい。
02/01/31 00:51
プロポリスは蜂の巣の原料だな

60:54
02/01/31 10:54
>>53 残念ですぅ.セキュリティかなり改善できると思うのに.

61:名無しさん@お腹いっぱい。
02/01/31 19:05
>>60
名前が53で参照先が>>54と思われ。


62:60, 53
02/01/31 22:09
>>61

スマソ。その通りです。



63:名無しさん@お腹いっぱい。
02/02/05 08:40
gccに独自プロセッサ向けのコードをはいて欲しい時どうしたらよいのでしょうか?

出力したコードのそれぞれの命令を、
独自プロセッサの命令で等価になるように置き換えるのが
普通のやり方でしょうか?

よろしくお願いします。

64:名無しさん@お腹いっぱい。
02/02/05 08:43
>63
独自プロセッサってgccがサポートしてない奴?
gccのソース見れば?
それでわからないならあきらめな。君には無理じゃ。

65:名無しさん@お腹いっぱい。
02/02/05 09:10
>>63
fURLリンク(ftp.axis.se)
fURLリンク(ftp.axis.se)
fURLリンク(ftp.axis.se)
fURLリンク(ftp.axis.se)

がんばれYO!おれは知らん。

66:名無しさん@お腹いっぱい。
02/02/05 11:25
>64
>gccのソース見れば?
なんでもかんでもソース見れば?は
なんか厨房くさい感じがしてやだなぁ。

それはさておき、
>出力したコードのそれぞれの命令を、
>独自プロセッサの命令で等価になるように置き換えるのが
>普通のやり方でしょうか?
これどういう意味?

67:名無しさん@お腹いっぱい。
02/02/05 11:54
マニュアルを読めばいろいろ書いてあるよ。
hoge.md というのが hoge ってマシン用のコードを吐くための
設定が書いてあるファイル。


68:名無しさん@お腹いっぱい。
02/02/05 12:55
.mdファイルを見ました。なんかリスプの
(define_attr ... )というのが延々と並んでて
なんのことか分かりません。

これって検索したけど日本語のものは殆どないですね。
英語のマニュアルをがんばって読まないとダメみたいです。


69:名無しさん@お腹いっぱい。
02/02/05 14:55
gccのマニュアルは日本語訳があったと思ったが。

70:名無しさん@お腹いっぱい。
02/02/05 15:09
URLリンク(www.sra.co.jp)

71:ナーナス
02/02/06 01:16
「それでわからないならあきらめな。君には無理じゃ」警報発令中~!


72:名無しさん@お腹いっぱい。
02/02/06 07:58
googleで探してみたら、
実際にmdファイルをいじってみた方のレポートが見つかったので、載せときます。

URLリンク(web.yl.is.s.u-tokyo.ac.jp)

73:名無しさん@お腹いっぱい。
02/02/06 08:08
>>66
例えば、
gccで普通にコンパイルして、
i386向けのコードを出力する。

独自プロセッサにはinc命令がない

i386向けのコードでinc命令を使っているところを、
add命令等を使ってinc命令を使ったときと同じ結果になるように、
置き換える。

って感じの事をなんとなく想定してました。

74:名無しさん@お腹いっぱい。
02/02/06 08:51
gccって使われる率の割には中身理解してる人少なそうだね。
気合入れて今度勉強始めようかな。1年計画ぐらいで(藁

URLリンク(www.fuka.info.waseda.ac.jp)
ここなんか見てもソースの理解がやっぱり大変みたい。

75:名無しさん@お腹いっぱい。
02/02/06 13:30
sumiiさん、こんなことやってたのか...
でもやっぱり情報なら CPUの一つぐらいつくれんとだめだのう..



76:名無しさん@お腹いっぱい。
02/02/06 15:07
>>73
GNU as をお勉強してみてはいかが?

77:名無しさん@お腹いっぱい。
02/02/06 16:50
sumiiさんすご過ぎ(w。
CPU実験でここまでする人いないよ。


78:名無しさん@お腹いっぱい。
02/02/06 18:17
sugoine sumii san
oremo gakusei no koro motto ganbareba yoka-taYO!

79:名無しさん@お腹いっぱい。
02/02/22 23:05
gcc-3.0.4 age

80:名無しさん@お腹いっぱい。
02/03/08 23:28
あげ

81:名無しさん@Emacs
02/03/08 23:33
久しぶりにageられてる。
Redhat7.2 では gcc3 ていうコマンドになってて gcc2.96 も残ってるんだけ
ど何か意味あるの? 安定してないからとか?

source からコンパイルするときとか gcc3 使った方が幸せになったりします
か?

82:名無しさん@お腹いっぱい。
02/03/08 23:44
>>81
板違いです。

Red Hat Linux 統合スレ
スレリンク(linux板)

今日からRedHatLinux7.2
スレリンク(linux板)

Red Hat Linux 7.1
スレリンク(linux板)

WIN-XPとRedhat7.2のデュアルインストール
スレリンク(linux板)

★山崎邦正はlinux(Redhat)ユーザー!!
スレリンク(linux板)

Redhat 7.2 Public beta(Roswell)ってどうよ
スレリンク(linux板)

黙ってRed Hat Linuxを使う奴はカコイイ。
スレリンク(linux板)

RedHat(世界標準) VS Turbo(日本国内厨房向け)
スレリンク(linux板)

レッドハット
スレリンク(linux板)



83:名無しさん@お腹いっぱい。
02/03/08 23:46
>>82
何気に親切だな、ヲイ

84:
02/03/09 01:47
で,ブッチャケ gcc-3.0.X は不安定なのか?
俺はフツーに使っているつもりだが.
# もっとも KDE とかデカいモノは使っていないからなんとも言えないのだが


85:名無しさん@お腹いっぱい。
02/03/09 01:48
そういえばglibcはコンパイルできるようになったの?

86:名無しさん@お腹いっぱい。
02/03/09 01:50
>81
俺も気になる。今rawhideを入れると、2.96と3.0.xのどっちが普通に(/usr/bin/gcc)使われるの?


87:名無しさん@お腹いっぱい。
02/03/09 02:04
>>86 お前ら少しわ調べろと小一時間(以下略)
以下 rawhideのi386.rpm持って来て中見ただけ

rawhide $ rpm -qpil compat-gcc-7.2-2.96.102.i386.rpm |grep /usr/bin
/usr/bin/gcc296
/usr/bin/i386-redhat-linux7-gcc

rawhide $ rpm -qpil gcc-3.1-0.21.i386.rpm |grep /usr/bin
/usr/bin/cc
/usr/bin/gcc
/usr/bin/gcov
/usr/bin/i386-redhat-linux-gcc
/usr/bin/protoize
/usr/bin/unprotoize

だから /usr/bin/gccは gcc 3.1になるはず
gcc-2.96はたぶん kernel作るのにつかってるんでは?


88:名無しさん@お腹いっぱい。
02/03/09 02:05
>87
さんきゅ。しかし…3.1って…。なんで3.1なんだ?
リリースされてないよね。


89:87
02/03/09 02:15
gcc-3.1はcvsのversion
URLリンク(subversions.gnu.org)
のversion.cでも見てみそ

#include "ansidecl.h"
#include "version.h"

const char *const version_string = "3.2 20020308 (experimental)";

だとさ

RedHatでは多分 specでs/experimental/Red Hat/
とか書き換えてるだろうけど


90:名無しさん@お腹いっぱい。
02/03/09 02:19
そうなんだ
そんな若いの使って大丈夫なんですかね。


91:名無しさん@お腹いっぱい。
02/03/09 06:38
>>85
できます。

92:名無しさん@お腹いっぱい。
02/03/09 07:09
glibcやGLibの日本語の(笑)リファレンスってないですかねー?

93:仕様書無しさん
02/03/09 17:12
age

94:名無しさん@お腹いっぱい。
02/03/13 15:23
>>90
URLリンク(moso.borogrammers.net)
大丈夫げ

>>92
glibcとglibは何の関係もありませんが…?しかもスレ違いの予感。

glib 1.2
URLリンク(www.kitanet.ne.jp)
#glib2.0はまだないだろうな。

で、glibcのリファレンスって、ANSI C 非準拠の部分についての詳細ってことか?



95:名無しさん@お腹いっぱい。
02/03/14 21:34
どちらかというとgdbの機能向上を望む。
特に現状ではC++のサポートが酷いとおもうんだけどどうよ。

96:名無しさん@お腹いっぱい。
02/03/14 22:07
こっぺりと同意>>95
gdb5.1の出来はどうなんでしょうかねい


97:名無しさん@お腹いっぱい。
02/03/15 00:40
うちじゃカーネルをgcc-3.1.0-21(RawHide)でRebuildしたら
ブートしなかった。pcmcia-csとかにまぜてもダメ。

だから2.96に戻した。

うちだけかも。

98:名無しさん@お腹いっぱい。
02/03/15 00:49
カーネルはだめっしょ。


99:名無しさん@お腹いっぱい。
02/03/15 01:54
ABIってどういう意味ですか?

100:名無しさん@お腹いっぱい。
02/03/15 02:26
100ゲト


101:名無しさん@お腹いっぱい。
02/03/15 02:44
>>99
URLリンク(www.google.co.jp)


102:名無しさん@お腹いっぱい。
02/03/15 05:05
Applications Binary Interface

103:名無しさん@お腹いっぱい。
02/04/09 00:47
で、最近のGCC3はどうよ?
まともになった?

104:名無しさん@お腹いっぱい。
02/04/09 03:25
>>103
3.1を待ってる。

105:名無しさん@お腹いっぱい。
02/04/09 07:33
cvsでは既に3.2 branchだもんねぇ。なんで3.1がさっさとreleaseされないんだ?

106:名無しさん@お腹いっぱい。
02/04/09 08:32
スケジュールどおりでは > 3.1

URLリンク(gcc.gnu.org)


107:名無しさん@お腹いっぱい。
02/04/14 20:26
あした

108:名無しさん@お腹いっぱい。
02/05/01 09:57
3.1はまだでございますか?

109:名無しさん@お腹いっぱい。
02/05/01 11:58
>>103
3.0.4使っているけど、ちゃんと動いてるよ。

たまにtemplate関係で変かなー、と思うけど、
STLportとどっちが悪いのか見当つかないから(w、
自分のコードを変えてるよ…

奇怪なtemplateを書かない限り、至極まとも。

URLリンク(www.gnu.org)
みると、3.1もかなりいけてそうだ。3.1にするかな?
使ってるのはi386-pc-linux-gnuだから、bug fixも順調だろうし。

110:名無しさん@お腹いっぱい。
02/05/06 23:47
3.1、5月になってもまだ出ない…

111:名無しさん@お腹いっぱい。
02/05/07 04:31
MacOS X用のGCC、もうちょっといいのでてくれ。

112:名無しさん@お腹いっぱい。
02/05/07 08:21
>>111
自分で直すというのはどう?
一躍有名になれるチャンス!

なわけないか・・・

113:名無しさん@お腹いっぱい。
02/05/08 13:04
Interview with Mark Mitchell, GCC's Release Engineer
URLリンク(www.osnews.com)

114:名無しさん@お腹いっぱい。
02/05/11 21:42
URLリンク(www.coyotegulch.com)
インテル、速いYO!!


115:名無しさん@お腹いっぱい。
02/05/11 22:05
3.1の公式リリースはまだかねぇ

116: 
02/05/12 22:46
IA-64のRedHat7.1の上で、gcc2.96も、gcc-3.0もソースからでは
全然コンパイルできないよ。変だね。

117:デフォルトの名無しさん
02/05/12 23:29
どんな手順でコンパイルしてんの?

118:名無しさん@そうだ選挙にいこう
02/05/12 23:48
>>116
IA-64 (・∀・)スゴイ

119:名無しさん@お腹いっぱい。
02/05/12 23:56
>>116
その石ホスィ…

120:名無しさん@お腹いっぱい。
02/05/13 14:46
URLリンク(gcc.gnu.org)

もうちょい。今週中には出るか?


121:あぼーん
あぼーん
あぼーん

122:名無しさん@お腹いっぱい。
02/05/14 01:03
>>120
URLリンク(www.gnu.org)
とかを見ると、GCCの開発って一昔前に比べると、かなり計画的になっているね。
びっくりした。
それだけ、GCCの重要性が増したという事なんだろうけど。



123:名無しさん@お腹いっぱい。
02/05/14 01:06
FreeBSD5.0は3.1だそうですね。

124:名無しさん@お腹いっぱい。
02/05/14 18:50
>>123
というより、GCC3.1の正式リリースを待たずに
CVSに突っ込むという無茶をやってるからなあ…

125:名無しさん@お腹いっぱい。
02/05/14 18:59
>125 gccのFreeBSD対応をもっとまともにする、より良い方法があったら教えてくだちい


126:名無しさん@お腹いっぱい。
02/05/14 19:43
>>125
FreeBSD対応?

127:名無しさん@お腹いっぱい。
02/05/14 22:48
>>125
もっとまとも?
もっと、強烈にオプティマイズして欲しいの?


128:名無しさん@お腹いっぱい。
02/05/14 23:20
125は124を指して「gccのsnapshotをFreeBSD-CURRENTに入れるのが気にくわないなら
積極的に人柱を集める他の方法を教えれ」と言っているのでした。

実際そうでもしないとLinux以外で顕在化するバグはみつかりにくいし、FreeBSDの
i386以外のarchはgcc3が必須なので、運命共同体というかなんというか。

129:名無しさん@お腹いっぱい。
02/05/14 23:22
>>124
無茶ではないと思う。CURRENTなんだし、さっさと使ってフィードバック
した方がリリースが充実していいんでは。obrienのおかげでローカル
パッチもだいぶ不要になったしね。(geraldもか)

ようやく、従来から 3.0.x を使っていたia64, sparc64, powerpcと
i386, alphaの足並みがそろっていい感じ。

GCC 3.1 は 2.95.x に比べて6割遅いというのは(゚д゚)マズーだが。。

130:名無しさん@お腹いっぱい
02/05/14 23:32
>>129
>GCC 3.1 は 2.95.x に比べて6割遅いというのは(゚д゚)マズーだが。。
遅いのは実行速度? コンパイル速度?


131:名無しさん@お腹いっぱい。
02/05/15 00:09
コンパイル速度。make buildworldで計測してみよー

132:名無しさん@お腹いっぱい。
02/05/15 00:17
>>130
make world の時間だからコンパイル速度だと思う.

133:名無しさん@お腹いっぱい。
02/05/15 14:29
最適化なんとかならんかな。
VCにもIntelCにもベンチマークボロ負けだよ。

134:名無しさん@お腹いっぱい。
02/05/15 14:37
あなたがなんとかして!

135:名無しさん@お腹いっぱい。
02/05/15 15:41
>>133
相手は IA32 専門コンパイラだからなぁ。

136:sage
02/05/15 18:37
3.1 kita

137:名無しさん@お腹いっぱい。
02/05/15 18:52
まじすか?

138:名無しさん@お腹いっぱい。
02/05/15 19:30
gcc-3.1 make bootstrap ちう。。。。
stage1 がなかなか終らない。。。。

139:名無しさん@お腹いっぱい。
02/05/15 20:45
まだミラーに行き渡ってないけど、もう本家にはあるね。
リリースアナウンスがある前に /.jp が記事にするかどうか(苦笑)


140:名無しさん@お腹いっぱい。
02/05/15 23:57
いつ頃、Linuxが3系のgcc使うようになるのかな。

141:名無しさん@お腹いっぱい。
02/05/16 00:13
次のRedHatで乗れば普及しそう。
TurboやKondaraは次バージョンで乗せるかなー

142:名無しさん@お腹いっぱい。
02/05/16 00:26
>>141
いや、載せるじゃなくてカーネルっていう意味で・・・

143:名無しさん@お腹いっぱい。
02/05/16 00:40
gcc-3.1キタ━━━(゚∀゚)━━━!!!!
・・・長いね、これ・・・

144:名無しさん@お腹いっぱい。
02/05/16 01:12
core.ring.gr.jp 早っ。
iij はまだ、aist はディレクトリがあるだけ…

実況してどーする。

145:名無しさん@お腹いっぱい。
02/05/16 01:16
>>142
Linuxカーネルは、gcc-2.95系が出た後も、
長らくegcs(2.91.??)を推奨してたからね。
結構時間がかかると予想してみる。

146:名無しさん@お腹いっぱい。
02/05/16 01:20
やっと、make bootstrap 終ったよ。pentium III 700MHz で1時間20分かかった。 これから、Linux kernel のコンパイルやる。

147:
02/05/16 09:50
サイズでかっ。。

148:名無しさん@お腹いっぱい。
02/05/16 12:35
メインページが更新されました。一応ご連絡。

149:名無しさん@お腹いっぱい。
02/05/16 18:35
gcc3.1のg++で#include<fstream>するとbasic_file.hの中でエラーに
なるの俺だけ? RedHat7.2(gcc2.96)でconfigure&makeしたんだけど…

150:名無しさん@お腹いっぱい。
02/05/16 18:50
URLリンク(www23.tok2.com)
2.4系のLinuxはgcc3.0でコンパイルできんの?

いま手元にgcc3ないから聞いちゃった。ゴメソ

151:名無しさん@お腹いっぱい。
02/05/16 18:54
>150
gcc3を/usr/binには入れないよねフツー。

152:名無しさん@お腹いっぱい。
02/05/16 19:00
>>151
Debianを家じゃ使ってるけどたしか/usr/binの下だったと思ったよ。
Debianはふつうじゃないのかな?他のは知らないから良く分からんけど。

153:名無しさん@お腹いっぱい。
02/05/16 19:12
>>150
$ cat /proc/version
Linux version 2.4.18 (root@pathos) (gcc version 3.0.4) #1 Thu Mar 14 17:36:09 JST 2002

Debian の sid です。

154:名無しさん@お腹いっぱい。
02/05/16 19:14
>>153
あ、どもです。いけるんですね。
今日うち帰って3.1でもいけるかどうか試してみます。

155:名無しさん@お腹いっぱい。
02/05/16 19:23
>>154 昨日やったら、2.4.19-pre8 も 2.5.15 も途中でこけた。まだ深くは追求していないけど。

156:名無しさん@お腹いっぱい。
02/05/16 19:28
>>155
コンパイルが通らないってことですか?
それとも実行時のエラーっていうことですか?

157:名無しさん@お腹いっぱい。
02/05/16 19:50
コンパイルエラーでそ>>156
オプション代えれば上手くいく予感

158:名無しさん@お腹いっぱい。
02/05/16 22:58
2.5.Xはwarningは山盛りでるわ、コンパイルエラーはでてくるわで
なかなか楽しめます: )。簡単な手直しは必須です。
gcc3.1と組み合わせたらそれはそれはハッピーになれるかも(w

やっぱりPC-UNIXはこうでないと!

159:名無しさん@お腹いっぱい。
02/05/17 00:21
Linuxは開発者多い割に対症療法なんだねえ。

*BSDは、日頃から山ほどwarning optionを付けて、見つかったwarningは
片っ端からつぶしてるもんな。styleにもうるさいし。

どっちをいじるのがハッピーかは、完全に性格によるかもしれない。

160:デフォルトの名無しさん
02/05/17 00:24
Linux2.5.15をgcc3.0.4でコンパイルして普通に使ってるよ。
新しい機能のthermal_interruptの辺りにバグがあるから
その機能を使わないようにすれば問題なく動く。

161:デフォルトの名無しさん
02/05/17 00:29
>>159
カーネル2.2の頃はwarningも殆ど無かったような気もするけど、
2.4になってからちらほらと。なんか生き急いでるような印象受けるよ<開発者

162:名無しさん@お腹いっぱい。
02/05/17 02:22
>>158
2.5.Xと戯れるなら
URLリンク(www.codemonkey.org.uk)
は必読かと。


163:名無しさん@お腹いっぱい。
02/05/17 09:36
>>162
サンクス

164:名無しさん@お腹いっぱい。
02/05/17 13:02
>>161
別にいいじゃん。2.5は開発系列なんだからさ。

乱暴と思えるようなmergeがなくなっちゃえば、
Linuxのmeritのひとつがなくなってしまう。
1.Xに比べれば天使を見るが如くだ。

165:名無しさん@お腹いっぱい。
02/05/19 20:17
specsファイルの書き方を説明したサイトないかなー

166:名無しさん@お腹いっぱい。
02/05/19 20:52
$info gcc
Invoking GCC::Spec Files::

167:名無しさん@お腹いっぱい。
02/05/20 13:40
gcc-3.1では -march={pentium2,pentium3,pentium4} なんかが追加されてるけど,
celeronの場合は何を指定するのがベストなのかな? pentium2あたり?

168:名無しさん@お腹いっぱい。
02/05/20 13:59
>>167
2か3だろうけど、コアの種類にもよるんでない?
つーかそれぞれでどう最適化が違うのかわからんとなんとも言えんけど。

169:名無しさん@Emacs
02/05/20 14:46
>>167
生成したバイナリに具体的にどんな影響が現われるのか興味深いな・・。
特にpentium2と3。

基本的にはpentium2を指定しておけば間違いないだろう。
あとSocket478用Celeronならpentium4。
それ以外はその時期のCeleronと同時に発表されたプロセッサと同じものを
指定すればよいだろう。


170:名無しさん@お腹いっぱい。
02/05/20 15:27
i386の-marchで何が起こるかはconfig/i386/i386.cのprocessor_alias_table[]を参照しる。

171:名無しさん@お腹いっぱい。
02/05/22 18:39
URLリンク(www.coyotegulch.com)

172:名無しさん@お腹いっぱい。
02/07/21 09:26
gcc の release plan がかなり変更になった.
gcc 3.1.1 が現地時間で 7/21 に出るけど,この系列は
gcc 3.2.x に名称変更.7/23 に gcc 3.2 が出る予定.
gcc 3.2.x の C++ binary は,gcc 3.1.x の C++ binary と
互換ではないので要注意.

新 branch は gcc 3.3.x になる.
URLリンク(gcc.gnu.org)


173:名無しさん@お腹いっぱい。
02/07/21 12:39
もしかして非互換性発覚→急遽3.2ってことなのかな?

174:名無しさん@お腹いっぱい。
02/07/21 12:49
どっちかっつーと、
ABI変えないとどーしょうもない不都合発覚→3.2にversion bump
てことじゃないかと。


175:名無しさん@XEmacs
02/07/22 09:19
>>172
cvs [server aborted]: no such tag gcc_3_1_1_release

まだですね。

176:名無しさん@お腹いっぱい。
02/07/22 17:52
にしても GCC3.x は迷走しているなぁ。いったいいつまで 2.95.3 を使いつづけ
なければならないんだろう。

177:名無しさん@お腹いっぱい。
02/07/22 23:21
伝統にしたがって3.4まで待つことになるんでは

178:名無しさん@お腹いっぱい。
02/07/22 23:50
3.1.1 まだ~?
3.2 がもうすぐ出ちゃうよ.

現在 3.1 を使っているけど,3.2 が出たらどうするか考慮中.
C++ binary incompatible ではねぇ.

179:名無しさん@お腹いっぱい。
02/07/23 00:46
みんなどんどん使って不具合だしてくれー

180:名無しさん@お腹いっぱい。
02/07/23 12:46
最適化がVisualC並になるのはいつのことやら・・・

181:名無しさん@お腹いっぱい。
02/07/23 16:38
3.xの最適化はVisual Cに負けていないという噂は本当ですか?


182:名無しさん@お腹いっぱい。
02/07/23 23:07
>>181
gcc ではなく icc の間違いではないでしょうか。
icc も Pentium4/Xeon でないと真価を発揮しないようで.

183:名無しさん@お腹いっぱい。
02/07/23 23:21
>>182
どっちかっつーとPentium4/Xeonのほうがiccで最適化かけた
バイナリでないと真価を発揮しない、のような

184:名無しさん@お腹いっぱい。
02/07/24 01:18
こんな結果があるがどうよ?
スレリンク(linux板:194-198番)n

#gccも思ってたよりやるな。

185:名無しさん@お腹いっぱい。
02/07/24 01:19
あ、gcc2.96だけどね。

186:名無しさん@お腹いっぱい。
02/07/24 05:27
つーか、gccの最適化がしょぼい(>>180)ということを裏付けるデータあるの?


187:名無しさん@お腹いっぱい。
02/07/24 10:14
>186 >>184

188:名無しさん@お腹いっぱい。
02/07/24 10:30
>>187
VC出てきてないんですけど…

189:名無しさん@お腹いっぱい。
02/07/24 10:33
>>186
まだそんなこと言ってる・・・
「証拠見せろ」とか「gccに速さを求めるのは筋違い」とかって
ほんと決まり文句だな。

190:名無しさん@お腹いっぱい。
02/07/24 11:21
>>188
gccが比べるまでもなくしょぼいのはわかりますが何か?

191:名無しさん@お腹いっぱい。
02/07/24 11:28
i386の事だけ考えればいい商用のコンパイラと、gccを比べるのは川獺。

192:名無しさん@お腹いっぱい。
02/07/24 11:44
VCって、Windows CE用にmips、arm、shとかもサポートしてるみたいだけど、
この辺の最適化具合はどうなんだろね。

193:名無しさん@お腹いっぱい。
02/07/24 12:42
今は知らないが、VC++ってAlpha版、PowerPC版、MIPS版なんてのもあったような。

194:名無しさん@お腹いっぱい。
02/07/24 13:19
>>193
NTとかビルドするのにも使ってるんだし、そりゃああるだろよ。

195:名無しさん@お腹いっぱい。
02/07/24 15:27
URLリンク(gcc.gnu.org) 3.1.1 ぷれりりーす

196:名無しさん@お腹いっぱい。
02/07/24 22:30
>>189,190
URLリンク(www.google.com)
辺りみても、benchimarkでしかあり得ないプログラムや
数値計算やCG関係でMMXなんかがうまく使えた時に差がある程度と思うが?

>>191
その影響はpeepholeやinstruction emittingに限られるでしょ?
これがoptimization全体で大きな割合を占めるのはかなり特殊なprogram。

197:名無しさん@お腹いっぱい。
02/07/24 22:40
>190
そういう人にとっては、ここに来るのは時間の無駄以外のなにものでもないですね。

198:名無しさん@お腹いっぱい。
02/07/25 00:31
gccより遅いコンパイラは全部滅んじゃったからね。

199:名無しさん@Emacs
02/07/25 08:55
>>198
なるほど、そうか。
gccがコンパイラの底あげをしたわけね

200:名無しさん@お腹いっぱい。
02/07/25 10:34
>>196

> benchimarkでしかあり得ないプログラムや

速い遅いを見るのがBenchmarkじゃないの?

> 数値計算やCG関係でMMXなんかがうまく使えた時に差がある程度と思うが?

数値計算やCGって実用域の性能には無関係だと?
VCはMMXの最適化なんてやんないよ。ProcessorPack入れたらInlineで
書けるって程度。VectorCは違うけど。

あのね、すぐWin厨って言わないでUNIXの外の広い世界も
勉強したほうがいいと思うけどな。
例えば同じマシンにKDEとWindows2000入れたらどっちが
さくさく動くと思う?

まぁ、そういうと、そらXがクソ、Qtがトロいせい。Win2000なんて
そもそも不安定だから比較対象にならんとか言い出すんだろうけどさ~

201:名無しさん@お腹いっぱい。
02/07/25 10:40
>>200
比較対象にWindowsを持ってくるのはどうかと思うが、
いままでの*NIXの独善の歩みと言うべき姿勢は、
そろそろ見直される時期に来てるかも。

ソフトウェアの開発モデルとしては機能はしてるが
魅力やスピードが無いと言えるかも。
抽象的ですまんが


202:名無しさん@お腹いっぱい。
02/07/25 11:26
>>200
他にもUNIXとWindowsと比較・対決してるスレはたくさんあるから、
そういう議論はそっちでやってくれないかな?
ここはgcc関連の話題を扱うスレ。

203:名無しさん@お腹いっぱい。
02/07/25 13:44
> 例えば同じマシンにKDEとWindows2000入れたらどっちが
> さくさく動くと思う?

cygwinの上でKDE動かした方が遥かに遅かったが、なにか?

204:名無しさん@お腹いっぱい。
02/07/25 14:08
>>200
> 例えば同じマシンにKDEとWindows2000入れたらどっちが
> さくさく動くと思う?

gccでコンパイルしたKDEと
gccでコンパイルしたWindows2000の比較か?

205:名無しさん@お腹いっぱい。
02/07/25 16:21
>>204

おまえ頭悪いな・・・

206:名無しさん@お腹いっぱい。
02/07/25 16:27
>>205

おまえ頭悪いな・・・

207:名無しさん@Emacs
02/07/25 18:51
なつだからっていちいち煽りにかっかしてんな。
そうめんみたいに流せ。

208:名無しさん@お腹いっぱい。
02/07/25 23:20
ネタにマジレスすると、KDEとWin2000のどちらがサクサク動くか、という点については
コンパイラ云々よりもウィンドウシステムの設計に依存するところが大きいでしょう。
win2kはご存知のとおりカーネル内にグラフィックサブシステムが入ってるから、
かなりの速度がでる。Xは残念ながらオーバーヘッドがでかい。

つーことは、上記のように環境が速度の最大ファクタであるような場面では
コンパイラの最適化能力なんてあんまり目立たない→重要でない
ってなことになっちゃうと思うんだが...

で、未だにコンパイラの速度を競うような場面ってそんなにありますか?
計算屋さんにとっては重要な問題なのかなあ。
ほとんどライブラリに頼ってる気がせんでもないけど。

209:名無しさん@お腹いっぱい。
02/07/26 10:07
>>203
そら遅くて当たり前…

210:名無しさん@お腹いっぱい。
02/07/26 19:49
gcc-3.1.1 リリースage

211:名無しさん@お腹いっぱい。
02/07/26 21:49
URLリンク(www.usenix.org)

"Solaris 2.6 vs Windows NT 4.0"のスレッドパフォーマンス比較だけど,

The "same compiler", GNU gcc version 2.8.1, was used to compile the
test programs for both operating systems. ... However, later we
compiled the test programs with each system's native compiler (Visual
C++ 5.0 and SUN C Compiler 4.2) and found no significant differences
in performance.

となっているね.この場合,OS側のライブラリやカーネルを実行してる部分が多くて
ユーザプログラム側の部分によって大きな差がつかない,ということだろうね.

212:名無しさん@お腹いっぱい。
02/07/29 19:31
板違いかもしんないけどさ。気に入らなかったら読み流してちょ。

コンパイラの教科書って、未だに Ahoのアレが一番メジャーなの?
あそこまで行かないにしても、それなりに網羅的に書いてある
もーちょっとモダーンな教科書あったら紹介きぼんぬ。

213:名無しさん@お腹いっぱい。
02/08/02 17:39
GCCの連載見つけたage
URLリンク(www.cqpub.co.jp)

214:名無しさん@お腹いっぱい。
02/08/02 20:15
>>212
つーか、最近は一冊にまとまっていない。分量多すぎ。
プログラミング言語一般論, parsing, type, code emiting&optimization
くらいに分かれている。翻訳があるドラゴンブック読んでから、次に進めばよい。

215:214
02/08/06 14:39
>>212
もしかして英語でも良かったの?

216:名無しさん@お腹いっぱい。
02/08/06 18:08
>212
中田育男著「コンパイラの構成と最適化」


217:名無しさん@お腹いっぱい。
02/08/06 18:50
えいぷるさんの本があるべ

218:名無しさん@お腹いっぱい。
02/08/07 21:09
>>215
英語でもいーっす。
今、amazon.comも見てみましたが、あまりくるのがありませんでした。
Modern Compiler Design が一番ポピュラーなんですかね。

>>216
読んだ事ありますがドラゴンの方がよさげ(網羅的)な気が。

>>217
Appel「Modern Compiler Implementation in Java 」ですか?

219:
02/08/07 23:05
Compiling with continuation とか。

220:名無しさん@お腹いっぱい。
02/08/10 22:58
3.2 ぷれりりーす
URLリンク(gcc.gnu.org)


221:名無しさん@お腹いっぱい。
02/08/11 00:40
正式リリースは 8/14 か。当初は 7/23 に出るとかいう話だったから、3週間遅れか。

222:名無しさん@お腹いっぱい。
02/08/15 21:17
ftp.iij.ad.jp:/pub/GNU/gcc/ にはもうあるね。> gcc-3.2.tar.gz


223:名無しさん@お腹いっぱい。
02/08/16 01:38
GCC 3.2 Released. アナウンスされた。


224:名無しさん@お腹いっぱい。
02/08/16 02:33
GCCへの、というわけでもないですがコンパイラに関する
スレッドがみつけられなかったので質問させてください.
何とか社fooのCompiler (foocc)ver.10はsourceを書いた後
(2回目は自分自身でcompileするにしても)最初はfoocc-9で
compileするんでしょう.ver.9はver.8でcompile、と
考えていくとver.1はどうやってつくったんでしょうか?他の会社なりのhogeのcompiler(例えばhogecc-5とか)がその時あれば
ちょっと借りてきて1回目だけそれを使えばいいんですが、それでは
hogecc-1のsourceはどうやってcompileしたんでしょう?
最初は誰かえらい人がアセンブラで書いてくれた.位しか
思いつかないのですが...
こんなの常識なんでしょうか?


225:春日三球
02/08/16 03:07
今夜も寝られなくなっちゃったじゃねえかゴルァ!

226:名無しさん@お腹いっぱい。
02/08/16 03:18
>224
最初はIPLをトグルスイッチぱちぱちやって入力した。


227:名無しさん@お腹いっぱい。
02/08/16 03:32
トグルスイッチといえば、
コンパイラではなくOSだがCray社を作ったシーモアクレイは
OSをトグルスイッチでパチパチパッチンと入れて
それがいきなり動いたっていう.本当か?
URLリンク(cruel.org)
GCCと関係ないけど.

228:名無しさん@お腹いっぱい。
02/08/16 05:01
何でみんな新しいもの追っかけるの?
昔は新しいモノを追っかけてたんだけど、安定してるはずのgcc2.95.2で
glibcをmakeしたら腐ったコード吐いたことがあったので、新しいのは怖くて使えないよ。

結局、egcs2.91.66が一番安心できる。

229:名無しさん@Emacs
02/08/16 10:20
>>224
バベルの図書館で貸し出してます。
VC++は民明書房にあるそうです。

230:名無しさん@お腹いっぱい。
02/08/16 11:25
>>228
新しいもののほうがナイスな最適化するかもーとか、
C++ の標準準拠っぷりとか、
gcc のパッチを作ってるので仕方なくーとか。

必要ないんなら古いのでいいと思いますよ、ええ。
FreeBSD と NetBSD は gcc-3.x に移行する予定みたいですね。


231:名無しさん@お腹いっぱい。
02/08/16 16:52
バグると不平を言うよりも、進んでバグを出しましょう

…というのがフリーUNIXコミュニティの美徳ではないかと>>228

仕事で使うならstableなものを選択するというのもアリ

232:名無しさん@お腹いっぱい。
02/08/16 17:31
>>231
バグって不平をいうやつはそこまでのレベル。

233:名無しさん@お腹いっぱい。
02/08/17 03:29
おれbug見つけたら小躍りしながらレポート書いちゃうけどな(・∀・)

234:名無しさん@お腹いっぱい。
02/08/17 03:45
>>233
あんたは素晴らしい。
俺にはコンパイラのバグなんてさっぱり分からん。

235:名無しさん@お腹いっぱい。
02/08/17 12:50
>>234
templateで遊んでたらいくらでもinternal compiler error出るぞ

236:名無しさん@お腹いっぱい。
02/08/17 13:15
>>235
internal compiler errorとか出たらどうやって追いかけてるの?

237:名無しさん@お腹いっぱい。
02/08/17 13:25
>>235
例えばどんなソースだとエラーがでる?

238:名無しさん@お腹いっぱい
02/08/17 14:08
>>236

追いかけるのはGCCチームにやらせりゃいいことだろ。
error が出たソースを添付してレポートすりゃいいだけ。

239:名無しさん@お腹いっぱい。
02/08/17 15:23
gccのソースも読めないやしは半人前。


と言われつづけてはや10年

240:名無しさん@お腹いっぱい。
02/08/17 16:25
10年前の gcc-1.42 がファイル数 281、展開後のサイズ7.7Mだったのが、
gcc-3.2 ではファイル数 14375、サイズ161MB に肥大しているから、
せっかくの10年前にgccのソースを読む機会を逸した奴はもう一生読めないに違いない。


241:あぼーん
あぼーん
あぼーん

242:あぼーん
あぼーん
あぼーん

243:名無しさん@お腹いっぱい。
02/08/17 19:11
>>240 10年前のソースを読めば解決?w

244:名無しさん@お腹いっぱい。
02/08/17 19:32
今のgccぐらいの規模なら理解できるだろ。
世の中もっと大きなソフトウェアは幾らでもある。

245:名無しさん@お腹いっぱい。
02/08/17 19:59
ここにはgccを理解してる人がいるみたいなので質問させてください。
1. rtl.defやrtl.h,rtl.c
2. *.md
3. -drオプションを指定されたときに吐き出されるファイル
これら三つの関係がいまいちよくわかりません。
簡単でいいのでこれらの関係を教えて下さい。

246:名無しさん@お腹いっぱい。
02/08/17 20:52
>>245

gcc の info 読もう。
gcc -> Passes `Paasses and Files of the Compiler' のあたり。


247:名無しさん@お腹いっぱい。
02/08/17 21:09
>>246
それはよく読んだのですが、分からないからここで質問しました

248:あぼーん
あぼーん
あぼーん

249:名無しさん@お腹いっぱい。
02/08/18 00:37
>>247
えー その info に十分な情報があると思うけどなあ。

1. RTL を操作するためのユーティリティ関数と、RTL の共通定義
3. コンパイル対象のソースが RTL に変換された直後の RTL の様子
2. insn-flags.h とか insn-codes.h とか insn-output.c とか
insn-attrtab.c とか、とにかくマシン依存のコンパイラソースを
生成するためのソース


250:名無しさん@お腹いっぱい。
02/08/18 08:55
>>249
おお、ありがとうございます。
なんとなくイメージが掴めました。
教えてもらったことを手がかりに
ドキュメントを読み直します。

251:名無しさん@お腹いっぱい。
02/08/18 11:27
俺は組込み系やってるのでコンパイラが吐き出したコードを読む機会が多いんだけど、
最適化されるはずなのにうまくされてないような所ってのも、正しく動くけどbugのうちとみなしてレポートしてる
たいていは数日以内にpatch送ってもらえたりするんで、いつでもmakeできるように
gccのソースツリーは展開したまま置いてある。
間違ったコード吐いたりされる場合はさすがにpatch送ってもらうのを待ってるわけにいかんので
レポートするのと同時に自分で治すこともあるけど、簡単に治せるようなものなら良いが
ちょっとややこしくなるともう手に負えん(;´Д`)


252:名無しさん@お腹いっぱい。
02/08/21 22:25
今gcc-3.2コンパイルしてます。
dejagnuのチェックでFAILが出まくってるんだけど、コンパイル失敗ですか?
一応継続してるんですが。

253:名無しさん@お腹いっぱい。
02/08/22 08:05
gcc が Java のバイトコードも吐けるようになるのはいつの日か。

254:名無しさん@お腹いっぱい。
02/08/22 09:25
>>253 gcj -C で吐くと思われ。

255:名無しさん@お腹いっぱい。
02/08/22 16:36
Gentoo

256:名無しさん@お腹いっぱい。
02/08/23 04:35
質問です。
某マシンでgcc使ってるんですけどnewが例外投げてくれません。
PCのgccでも昔は駄目だったんですけど、
3.0では直ってるんでしょうか?


257:名無しさん@お腹いっぱい。
02/08/23 20:16
>>256
PCのgccを3.0にして試せばいいのでは?

258:名無しさん@お腹いっぱい。
02/08/23 20:41
>>256
・例外そのものが機能しないのではなく、newだけ?
・昔ダメだったgccのバージョンは?
ぐらいの情報は欲しいなあ。

259:名無しさん@お腹いっぱい。
02/08/24 09:42
>>218
亀レスだが、英語でいいなら、Modern Compiler Designでいいんじゃない?
ドラゴンブックもぺ─バーバックの奴買っておけばいいし。
Advanced Compiler Design and Implementationも面白いよ。

Appelのは傾向がチョト違う。
>>219も"Garbage Collection: Algorithms for Automatic Dynamic Memory Management"も(w

260:名無しさん@お腹いっぱい。
02/08/24 09:46
>>224
最初は別の言語で書く。アセンブラまで後退する必要はない。
ちなみに昔はFortranやPL/1で書かれたC compilerがあった。

テメーのcompiler書いても、
gccがあるからgccで簡単にbootstrap、って状況の方が(昔からすれば)異常。

261:名無しさん@お腹いっぱい。
02/08/24 17:31
>>256
少なくともgcc 2.95では、mallocが本当に失敗すればbad_alloc
投げてくれるはず。(cp/new1.cc)
楽観的メモリ割り当てとかで、malloc自体が成功しているからでは?

262:名無しさん@XEmacs
02/08/26 06:01
intel 系っつーか PentiumPro 系のハナシですが、
gcc2.95 って妙に速いコード出すことがあるですね。
gcc3.2 や icc より速い。。。


263:224
02/09/03 22:09
> 260さん
ありがとうございます.それはそうなのでしょうけど,
(最初にCを作った人は"Cで書いてコンパイルしたC Compiler"
がそれこそ世界になかったわけですから!)
その "FortranやPL/Iで書いたC Compiler"を作るための
"FortranやPL/IのCompiler"をやはり作らなければいけませんよね...
でも教えてばっかりでもなんだか悪いのでいろいろ調べてみます。
どう考えても最初は簡単な(機能が少ない)言語Aをアセンブリ言語で書き、
その言語Aを使ってもうちょっと高水準の(機能が多い)言語Bのコンパイラ
を書く.-> 以下同文 とやっていったのだとは思いますが.

264:名無しさん@お腹いっぱい。
02/09/03 23:43
つーか、別にアセンブラだけで(機械語だけでさえも)
Cコンパイラ作れるんですが。

265:名無しさん@お腹いっぱい。
02/09/04 00:10
>>263
理論的には可能であるとしても、
アセンブラで書いたC compilerは山田かつて見たことがない。

> hogecc-1のsourceはどうやってcompileしたんでしょう?
> 最初は誰かえらい人がアセンブラで書いてくれた.位しか

よって>>260ではこの行間の話をした。以上。

266:いや、知らんけど
02/09/04 00:19
リッチーさんが最初にPDP-7上で書いたCコンパイラは、アセンブラだったのでは。

267:あれ、Cの誕生は
02/09/04 00:20
PDP-11に移植してからだったか?

268:名無しさん@お腹いっぱい。
02/09/04 01:49
>263
> 以下同文とやっていったのだとは思いますが.

で、結局 >>226 まで遡ると。

269:名無しさん@お腹いっぱい。
02/09/04 03:19
dmrセンセイはBでCを書いたんじゃないの?


270:名無しさん@お腹いっぱい。
02/09/04 04:01
アセンブラの登場はFortranコンパイラよりも後のはず。


271:名無しさん@Emacs
02/09/04 19:33
Unixの歴史とかの書籍を見ると
「コンパイラコンパイラ」
ってのがあったらしいが...
....一番最初はどうだったんだろう。
謎、謎。

272:名無しさん@お腹いっぱい。
02/09/04 23:50
yacc?

273:名無しさん@Emacs
02/09/06 10:02
libungif コンパイルできねー

274:名無しさん@Emacs
02/09/06 10:05
@ gcc-3.2

275:棄教者 ◆witdLTi2
02/09/06 10:42
>>266-267
gcc は yacc/bison が無いと動かないよね
yacc/bison は C で書かれているよね
。。。

276:名無しさん@お腹いっぱい。
02/09/06 12:12
>275
最初のCコンパイラはgccではないわけだが...

277:名無しさん@お腹いっぱい。
02/09/06 16:09
g++ 3.2 で ostream_iterator が未定義だといわれるんだが。

% cat foo.cpp
#include <ostream>
#include <string>
int main()
{
std::ostream_iterator<std::string> *i;
}

% g++ -dumpversion
3.2

% g++ -c foo.cpp
foo.cpp: In function `int main()':
foo.cpp:5: `ostream_iterator' undeclared in namespace `std'
foo.cpp:5: parse error before `>' token

278:名無しさん@お腹いっぱい。
02/09/06 17:45
#include <iterator>

279:277
02/09/06 20:26
サンクス。
標準では <iterator> なのか。やっぱり古い知識のままじゃいかんなぁ。

280:名無しさん@お腹いっぱい。
02/09/09 00:06
gcc をビルドしてできる libstdc++.so.5 とかは、どこにインストール
すべきものなんでしょうか。
configure --prefix=/usr/local/gcc-3.2 とかでビルドして make install
すると、/usr/local/gcc-3.2/lib/ の下にインストールされるのですが、
g++ 3.2 で作成した実行ファイルを起動すると、libstdc++.so.5 が
見つからない、と言われてしまいます。

281:名無しさん@お腹いっぱい。
02/09/09 00:11
OS は?
ldconfig とか、LOAD_LIBRARY_PATH とか?

282:あぼーん
あぼーん
あぼーん

283:名無しさん@お腹いっぱい。
02/09/09 00:16
>280
リンク時に
g++ -Wl,-rpath -Wl,/usr/local/gcc-3.2/lib
と書いておけば? specs ファイルでも指定できるかもしれんが。

284:280
02/09/09 00:55
アドバイス、ありがとうございます。
>>281
Linux 2.2 です。
ldconfig とか LOAD_LIBRARY_PATH とかは、とく使ってませんでした。
man を見ると、ldconfig で解決できそうな感じがします。

>>283
これは、スタティックリンクをするときの話でしょうか。できれば、
実行時にリンクを解決したいのです。

285:名無しさん@お腹いっぱい。
02/09/09 01:52
ダイナミックリンクする場合の指定方法だよ

286:280
02/09/12 12:56
libstdc++ の件は
# echo /usr/local/gcc-3.2/lib >> /etc/ld.so.conf
# ldconfig
で解決しました。

g++ 3.2 で別の問題なんですが、std::wstring を使おうとして、

#include <string>
int main() { std::wstring s; return 0; }

をコンパイルしたら、

/tmp/ccSgXbtC.o: In function `main':
/tmp/ccSgXbtC.o(.text+0x17): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::basic_string[in-charge]()'
/tmp/ccSgXbtC.o(.text+0x22): undefined reference to `std::basic_string<wchar_t, std::char_traits<wchar_t>, std::allocator<wchar_t> >::~basic_string [in-charge]()'

のようなリンクエラーが出ました。もともと普通にビルド&インストール
しただけでは wstring が使えないので、c++config.h で
#define _GLIBCPP_USE_WCHAR_T 1
として (無理やり?) 使っていたのですが、3.0.4 あたりではうまくいって
いたのに、3.2 では上のようなエラーが出るのです。
これは、3.2 の basic_string では、メンバ関数がインライン展開されずに
別モジュールとしてコンパイルされているんですかね。

287:280
02/09/12 14:21
なんと、basic_string クラスのインスタンス自体が外部宣言されていました。
gcc-3.2/include/c++/3.2/bits/basic_string.tcc:
extern template class basic_string<wchar_t>;
gcc じゃ、こんな書き方ができるのか。
で、ビルド時には _GLIBCPP_USE_WCHAR_T が undef になっていたので、
ライブラリには、wstring の実体が作られていないのでしょう。自前で
template class std::wstring;
とやってやれば、うまいことリンクできました。
ところで、ビルド時から _GLIBCPP_USE_WCHAR_T を有効にするには
どうすればいいんでしょう。

288:280
02/09/12 17:58
結局、システムに入っていた glibc が古くて wchar_t 関係の
関数がそろっていなかったのが原因のようですね。現在、
glibc-2.2.5 をビルド中。

289:名無しさん@お腹いっぱい。
02/10/02 09:57
g++3で書いた中身C++、インターフェースCなライブラリを、g++2
から利用する(またはその逆)ための、良い方法は無いでしょうか?
普通にやろうとすると__dynamic_castなどが衝突するので、
リンカ側で色々工夫をする必要があるようなのです。
FreeBSDで、-symbolicなどを駆使して、一応例外などを
動かすことはできましたが、とてもポータブルとは思えない
ので、もっと正しい方法があれば教えてください。

290:名無しさん@お腹いっぱい。
02/10/17 22:29
64bit Solaris 8でgcc 3.2をコンパイルできた人いますか?
Companion CDで入る/opt/sfw/bin/gcc (2.95.3)を使って
やっているのですが(make checkの)エラーが消えません。

$ /usr/local/bin/tar xvfz gcc-3.2.tar.gz
$ cd gcc-3.2; mkdir objdir; cd objdir
$ echo $PATH
/opt/sfw/bin /usr/bin /bin /usr/ccs/bin /usr/local/bin
$ ../configure --enable-languages=c,c++ --with-as=/usr/ccs/bin/as
--with-ld=/usr/ccs/bin/ld --disable-nls
$ /usr/local/bin/make bootstrap (Errorは出ません。)
$ echo $TCL_LIBRARY
/usr/local/lib/tcl8.4
$ echo $DEJAGNULIBS
/usr/local/share/dejagnu
$ /usr/local/bin/make -k check | tee check.log
で,check.logからサマリ部分だけ抜き出すと、



291:名無しさん@お腹いっぱい。
02/10/17 22:30
=== libstdc++-v3 Summary ===

# of expected passes 407
# of unexpected failures 2
# of unexpected successes 10
# of expected failures 16

=== gcc Summary ===

# of expected passes 18688
# of expected failures 66
# of unsupported tests 111

=== g++ Summary ===

# of expected passes 7248
# of unexpected failures 3
# of expected failures 88
# of untested testcases 21
# of unsupported tests 4

bootstrapまでは通っているけどtestsuiteのC++関連の
unexpected failuresがあるのが不安です。
URLリンク(gcc.gnu.org)を見ると
(Test resultsでエラーがある人もいるけど)Successfulの
人もそれ以上に結構いて、なんで私のだけエラーが出るのかと...


292:名無しさん@お腹いっぱい。
02/10/17 22:35
$ cd gcc/
$ for file in *.o ; do cmp $file stage2/$file; done
でのstage2とstage3の比較はOKのようなのですが...
そもそもtestsuiteでunexpexted failuresが0になるものでしょうか。
gccをsourceからbuildするのは初めてなのでよく作法/流儀が...
Package版があるようなのでそっちを入れた方がいいんでしょうか。


293:名無しさん@お腹いっぱい。
02/11/03 10:41
gcc3.xをメインに使わないやしは氏ね

294:名無しさん@お腹いっぱい。
02/11/20 22:14
gcc 3.2.1
URLリンク(gcc.gnu.org)

295:名無しさん@お腹いっぱい。
02/11/21 22:46
gcc-3.2でperl-5.6.1がmake出来ない(´・ω・`) ショボーン

296:名無しさん@お腹いっぱい。
02/11/21 23:53
>>295
もしよければ詳細キボンヌ



gcc-3.2は最適化でバグがあるらしいね…「-fno-strength-reduce」を追加して対処
した方がいいらしい(Vim-6.1のパッチ260より)

gcc-3.2.1ではfixされているのかな?

297:295
02/11/22 00:06
これと同じ URLリンク(archive.develooper.com)
パッチあったんで助かったYo!

298:名無しさん@お腹いっぱい。
02/11/22 14:37
>>296
なるほど、これか
URLリンク(archive.develooper.com)

Thanks

299:名無しさん@お腹いっぱい。
02/12/12 20:20
URLリンク(www.coyotegulch.com)

300:名無しさん@お腹いっぱい。
02/12/13 16:47
propolice の特許?
特開 2001-216161
URLリンク(www2.ipdl.jpo.go.jp)
で 検索汁

301:名無しさん@お腹いっぱい。
02/12/13 18:28
>>300

一部に衝撃が走り中(w

302:名無しさん@お腹いっぱい。
02/12/13 18:39
正式書類にはこう書くのか(藁
インターナショナル・ビジネス・マシーンズ・コーポレ-ション

303:名無しさん@お腹いっぱい。
02/12/14 02:19
>>300
使ってもお金とられなきゃ特許でもいいや…

304:名無しさん@お腹いっぱい。
02/12/14 07:37
泳がせておいて後で回収と言うunisys方式もあるよ。

305:名無しさん@お腹いっぱい。
02/12/14 08:58
特許を申請した理由が知りたい…
日付からするとパッチを公開した時期なのかな?

306:名無しさん@お腹いっぱい。
02/12/14 10:22
特許申請しないと公開させてもらえなかったのかも。
特許の文書もやけに教育的だし。


307:名無しさん@お腹いっぱい。
02/12/14 12:11
特許は申請じゃなくて出願するもんだろう。


308:あぼーん
あぼーん
あぼーん

309:名無しさん@お腹いっぱい。
02/12/14 15:32
みなさん、リリース間近の3.3は試していますか?

310:名無しさん@お腹いっぱい。
02/12/15 09:27
propolice開発者です。GCCに提出している部分はGPLとしていますから、この部分に関して特許の心配はありません。
但し他のコンパイラ製品には適用されます。
このスレッドは見ているわけではないので、できれば私宛にメールを送ってください。アドレスはホームページから探してください。

311:名無しさん@お腹いっぱい。
02/12/16 22:19
>>310
キタ━━━(゚∀゚)━━━ !!!!!


312:名無しさん@お腹いっぱい。
02/12/17 01:09
>Support for thread local storage has been added to the IA-32 and x86-64 ports.

ほう。port限定だけど3.3でTLSサポート入るのか。

>IBM ROMP, romp-*-*
>IBM大騒ぎ、romp-*-*

(´∀`)

313:nobody
02/12/19 11:28
TLS サポートって TLS をどうサポートするんだろう?
下校できるとか


314:名無しさん@お腹いっぱい。
02/12/20 01:58
>>313
True Love Story カヨ

315:名無しさん@お腹いっぱい。
02/12/20 17:29
3.2.1いい感じだね。
安定してきた感じ。

316:名無しさん@お腹いっぱい。
03/01/04 11:10
そろそろ、全面的に3を採用してもいい頃なんじゃないかねえ。
Cに関しては移行についての問題も少なそうだし。g++がなあ
2.XXはおかしいから早いところなくなって欲しいのだけど。

317:名無しさん@お腹いっぱい。
03/01/08 12:35
祝 Debian sid で gcc = gcc-3.2 化

318:名無しさん@お腹いっぱい。
03/01/08 14:57
これで、開発系は全部がgcc-3.2になったのかな?

319:名無しさん@お腹いっぱい。
03/01/08 16:20
>>318
まあ、Linux-2.5.54 は Documentation/Changes では
The recommended compiler for the kernel is gcc 2.95.x (x >= 3), and it
should be used when you need absolute stability. You may use gcc 3.0.x
instead if you wish, although it may cause problems. Later versions of gcc
have not received much testing for Linux kernel compilation, and there are
almost certainly bugs (mainly, but not exclusively, in the kernel) that
will need to be fixed in order to use these compilers. In any case, using
pgcc instead of plain gcc is just asking for trouble.
なんて書かれてはいるけどね。

320:名無しさん@お腹いっぱい。
03/01/09 12:34
vim 6.1のconfigureにもこんなのがあるなぁ。

if test "$gccversion" = "3.1" -o "$gccversion" = "3.2" -o "$gccversion" = "3.2.1" && `echo "$CFLAGS" | grep -v fno-strength-reduce >/dev/null`; then
echo 'GCC 3.1 and 3.2 have a bug in the optimizer, adding "-fno-strength-reduce"'
CFLAGS="$CFLAGS -fno-strength-reduce"
fi

321:名無しさん@お腹いっぱい。
03/01/12 11:35
スレリンク(tech板:855-856番)

わくわく。

322:296
03/01/12 18:42
>>320
ま、3.2.1でも3.2と同様問題がある…ということですか ショボーン

323:名無しさん@お腹いっぱい。
03/01/13 15:30
>>322
ちなみに、debian sid 標準なのは pre-release な 3.2.2。2003-01-09 版。

324:山崎渉
03/01/15 12:54
(^^)

325:名無しさん@お腹いっぱい。
03/03/05 02:46
3.3ってどうよ

326:名無しさん@お腹いっぱい。
03/03/05 11:46
>>325
普通に動いてるけど。
最適化に関して改善されたみたいだけどどうだろう。
ベンチなんてとったりしてないし。。。

327:名無しさん@お腹いっぱい。
03/03/05 15:05
しかし、最近は簡単にマイナーバージョンを上げるなぁ。

328:名無しさん@お腹いっぱい。
03/03/05 15:13
>>327
3.3ってのは実質3.2だってことをお忘れなく。

329:名無しさん@お腹いっぱい。
03/03/05 18:12
3.1.1 -> 3.2 になったからってことかな?

330:名無しさん@お腹いっぱい。
03/03/11 05:40
URLリンク(gcc.gnu.org)

> We strongly recommend to install into a target directory where there is no
> previous version of GCC present.

これって、gcc をバージョンアップするときは以前のバージョンを消せということ?

331:名無しさん@お腹いっぱい。
03/03/11 05:49
上書きしてトラブっても自力で対処できないような香具師は
おとなしく新しいディレクトリ掘っとけ、ということでしょう。
/usr/local/gcc-3.2.2/ とか。


332:名無しさん@お腹いっぱい。
03/03/11 06:01
>>330
混ぜるなキケンってこと

333:名無しさん@お腹いっぱい。
03/03/11 06:13
>>332
あんたは、バージョンごとにディレクトリ分けてるのかい?

334:名無しさん@お腹いっぱい。
03/03/11 10:01
>>333
$ ls /usr/lib/gcc-lib/i386-redhat-linux
2.96
3.2.1
egcs-2.91.66

少なくともRedHat Inc.は分けてる。

335:名無しさん@お腹いっぱい。
03/03/11 10:53
>>334
ここで出ている target directory をたがえるいうのは、
そういうことではないと思うが。

おまい、自分でgccをインストールしたことすらないでしょ。


336:名無しさん@お腹いっぱい。
03/03/11 12:07
もれはCVSの日付で分けてるけど。

337:名無しさん@お腹いっぱい。
03/03/12 03:11
>>335
> おまい、自分でgccをインストールしたことすらないでしょ。
たしかに久しくやってないな。

338:山崎渉
03/03/13 16:38
(^^)

339:名無しさん@お腹いっぱい。
03/03/14 19:56
スレリンク(unix板)

340:名無しさん@お腹いっぱい。
03/03/14 21:15
長寿だなぁ、このスレ。

341:山崎渉
03/04/17 12:18
(^^)

342:あぼーん
あぼーん
あぼーん

343:名無しさん@お腹いっぱい。
03/04/26 13:14
age

344:名無しさん@お腹いっぱい。
03/04/26 13:23
gcc-3.2.3 リリース記念sage

345:名無しさん@Emacs
03/04/26 14:06
>>344


346:名無しさん@お腹いっぱい。
03/04/26 14:23



347:名無しさん@お腹いっぱい。
03/04/26 22:45
ちゃんと3.2.2がCurrentReleaseになったのは4/25
だし。遅いってことも無いんじゃない?

上で3.2.2キタ━(゚∀゚)━!って言ってたのはDebianに
PreReleaseが入ったってだけだし。


348:名無しさん@お腹いっぱい。
03/04/26 22:46
間違えた。3.2.3ね。

349:名無しさん@お腹いっぱい。
03/05/04 19:33
debian serge の無印gccがgcc-3.2(3.2.3) になってったよ!
さらば2.95


350:名無しさん@お腹いっぱい。
03/05/08 01:39
Pentium Mで最適化って-mcpu=pentium3でエエのかしら?
i686にしといたほうが無難か?

351:
03/05/08 01:48
-O3 が無難


352:名無しさん@お腹いっぱい。
03/05/08 04:22
-mcpu=pentium3と-mcpu=i686ってどこがちがうの?

353:名無しさん@お腹いっぱい。
03/05/08 04:27
i686にはPenPro,Pen2やAthlonも含むんじゃないの?

354:名無しさん@お腹いっぱい。
03/05/08 04:32
>>352
gccのソース嫁

とりあえずi386.mdってのを探すべし

355:名無しさん@お腹いっぱい。
03/05/15 13:27
3.3リリースあげ
URLリンク(gcc.gnu.org)

356:名無しさん@お腹いっぱい。
03/05/16 04:12
9か月ぶり。おめでとう!!

357:名無しさん@お腹いっぱい。
03/05/20 02:09
3.3だとglibc-2.3.2がコンパイル通らなくねっすか?

358:名無しさん@お腹いっぱい。
03/05/20 17:46
>>357
そんなものを何のためにコンパイルするのかな?

ひょっとして禿しく板違い?

359:あぼーん
あぼーん
あぼーん

360:名無しさん@お腹いっぱい。
03/05/30 22:13
gcc 3.3 でCのコードをコンパイルしようとした時,

/tmp/ccSthUIX.s: Assembler messages:
/tmp/ccSthUIX.s:1820: Error: invalid character '.' in mnemonic

というようなエラーが出てきて,該当するアセンブリ出力を見てみたら

    cmovl.ge    %eax, %ebx

というものだったんだけど,これは gcc 側がおかしなニーモニックを
吐き出しているのか,それとも as 側がおかしいのか,どちらでしょうか?
as は binutils 2.13.2.1

361:360
03/05/31 00:03
URLリンク(www.intel.com)
を見ると,"cmovl.ge"なんて命令はなさそうだし,gcc側がおかしいのかなぁ.

362:名無しさん@お腹いっぱい。
03/05/31 14:05
>>361
CMOVGEでは?
gasのオペコードもcmovgeで定義されてるねえ。
gccのi386.md追っかけてないけど、gccの問題臭いな。


363:名無しさん@お腹いっぱい。
03/06/01 17:26
gcc2.9x系と3.0との違いは何ですか?
ポインタだけでも結構ですので、ご存知の方がいれば
おしえてください。

364:名無しさん@お腹いっぱい。
03/06/01 17:44
>>363
URLリンク(gcc.gnu.org)

365:名無しさん@お腹いっぱい。
03/06/01 18:18
>>364
さんくす。
主な変更点は、
・最適化の強化(末尾再帰呼び出しの除去など)
・サポートするプラットフォームの増加(IA64など)
・Javaのサポート
・C++まわりの改良
・C言語の新しい規格C99への対応を強化(完全準拠ではないみたい)
・新しく書き直されたプリプロセッサ
・内部仕様の変更(ガーベージコレクションを採用、文脈自由文法の
解析アルゴリズムを変更など)

こんなかんじでしょうか。

ところで
「New tail call and sibling call elimination optimizations.」
は末尾再帰呼び出しの除去だと思ったんだけど、あってる?

366:名無しさん@お腹いっぱい。
03/06/01 22:58
再帰だけじゃなくて、
return foo();
みたいのを関数呼び出しからジャンプに変更するとかも含まれんじゃないかな。

367:名無しさん@お腹いっぱい。
03/06/05 23:39
これってヤバイの?
URLリンク(www.iss.net)

368:名無しさん@お腹いっぱい。
03/06/06 15:38
そもそも見慣れない構文なんだが。C99か?
いずれにしても、そんな機能を使ってるプログラムは
まず無いだろうな。

369:名無しさん@お腹いっぱい。
03/07/10 12:53
Debian/sarge使ってます。
g++を3.3.1-0pre0にしたらblitz++がコンパイルできなくなっちゃって、
3.3-2に戻したらコンパイルできるようになりました。
gccが悪いのかblitz++が悪いのかはわかりません。
こういうときはどこかに報告するべき?

370:名無しさん@お腹いっぱい。
03/07/10 13:06
>>369
原因を特定できないのなら、ろくな説明ができないと
思われますので報告は必要ないですね。
特定できるのなら詳細なバグレポートを。

371:名無しさん@お腹いっぱい。
03/07/10 14:08
/* BEGIN-----------
#include<iostream>
#include<fstream>
using namespace std;
int main(){ return 0; }
/* END-------------
というプログラムをFreeBSD5.1のGCC3.2.2でコンパイルしたら
#include<fstream>の部分が原因で、
/usr/include/g++/fstream:304: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:304: warning: implicit typename is deprecated, please
see the documentation for details
/usr/include/g++/fstream:309: warning: `typename std::basic_filebuf<_CharT,
_Traits>::int_type' is implicitly a typename
/usr/include/g++/fstream:309: warning: implicit typename is deprecated, please
see the documentation for details
というエラーがでます。
GCC2.9.5では何もエラーは起らないのですが、原因知ってる人がいたらおねがいします。


372:名無しさん@お腹いっぱい。
03/07/10 15:06
(´-`).。oO(warningとerrorの区別がつかないDQNがここにもひとり…)

373:名無しさん@お腹いっぱい。
03/07/10 15:12
(´-`).。oO('GCC2.9.5'とは随分若いバージョンを使ってるな)

374:名無しさん@お腹いっぱい。
03/07/10 15:16
(´-`).。oO(それ以前に2.9.xなんてバージョン世間一般に公開されてないだろ)

375:名無しさん@お腹いっぱい。
03/07/10 20:11
>>371
なんか-CURRENTでそんな話読んだ記憶がある。
ヘッダファイルが古いからだったか。

どうせg++3.3に上げるから放置じゃなかったかな。

portsからいれれば問題ない。

>>372
正しいプログラムにwarningが出るのは問題だろ。
C++ってしってる?

376:名無しさん@お腹いっぱい。
03/07/10 22:42
"正しい"プログラムだからこそwarningになるのであって、
"正しくない"プログラムが(errorではなく)warningにしかならないのであれば、
そっちのほうが大問題。

まあ、C++規格のうつろいの激しさを知らないピュアな>>375に乾杯。

377:371
03/07/11 00:34
>"正しい"プログラムだからこそwarningになるのであって、
>
結局このwarningは消せないのでしょうか?
毎回出て来るのは正直ウザいので

378:名無しさん@お腹いっぱい。
03/07/11 00:48
>>377
portsのgcc32かgcc33でもインスコして常にそっちを使うようmake.confで指定しとくとか

379:名無しさん@お腹いっぱい。
03/07/11 01:12
warning

380:名無しさん@お腹いっぱい。
03/07/11 01:21
とりあえずCFLAGSに"-Werror"を付けておけば
warningで悩まされることはなくなる次第

381:名無しさん@お腹いっぱい。
03/07/11 03:58
ワーニング

382:名無しさん@お腹いっぱい。
03/07/11 05:25
>>376
> "正しい"プログラムだからこそwarningになるのであって、
はぁ?ISO/IEC 14882って読んだことありますか?

> まあ、C++規格のうつろいの激しさを知らないピュアな>>375に乾杯。
自分のことだろw
いまだに頭の中がARMなんだろうな…

383:名無しさん@お腹いっぱい。
03/07/11 05:52
非建設的な煽りは御遠慮ください

384:名無しさん@お腹いっぱい。
03/07/11 06:22
>>383
372-384のうち375の前半と378以外は全て非建設的だがな。

385:名無しさん@お腹いっぱい。
03/07/11 09:01
わはは、ピュアな脊髄反射だなあw
んで、マジレスするとISO/IEC 14882には
そもそもここで言うerrorとかwarningという用語は登場しないし、
"正しい"プログラムにdiagnostic messageを出してはいけないとも書いてないわけだが。

386:名無しさん@お腹いっぱい。
03/07/11 11:17
そういう話題はプログラミング板とかでやって。

387:名無しさん@お腹いっぱい。
03/07/11 19:38
プログラミング板ってどこ? >>386=382=375

まあ、FreeBSDなんぞの不具合を延々引っ張られるのも
たしかに迷惑だが。

388:名無しさん@お腹いっぱい。
03/07/11 19:38
>>385
もうやめとけw

389:375
03/07/11 19:40
>>387
本当は375==382==384==388だよ。

390:名無しさん@お腹いっぱい。
03/07/11 20:29
>>385の方がやや劣勢?

391:名無しさん@お腹いっぱい。
03/07/12 09:48
まあ、とりあえず、
> `typename std::basic_filebuf<_CharT, _Traits>::int_type' is implicitly a typename
> implicit typename is deprecated
ちゅうことで。

392:あぼーん
あぼーん
あぼーん

393:名無しさん@お腹いっぱい。
03/07/18 00:42
gcc3.3でmips用が作れない…。
どうしたものか

394:名無しさん@お腹いっぱい。
03/07/18 01:58
>>393
ayamura?



395:名無しさん@お腹いっぱい。
03/07/18 02:32
>>393
エラーはどんなかんじなの?

396:393
03/07/23 01:26
>>395
はい、まず手順から

gcc-3.3.tar.gz,newlib-1.11.0.tar.gz,binutils-2.13.2.1.tar.gzを
ftp.ring.gr.jpからもってくる
~/source/toolchain/以下に展開する。

# binutilsのインストール
cd binutils-2.13.2.1
./configure --prefix=/usr/local/cross --target=mips-embedded-elf
make
su -m
make install

ここで~/.cshrcに手を入れて/usr/local/crossにPATHを通す。
source ~/.cshrc

397:393
03/07/23 01:27
# gccのインストール
cd ,../gcc-3.3
ln -s ../newlib-1.11.0/newlib .
./configure --prefix=/usr/local/cross --target=mips-embedded-elf \
--with-newlib --enable-languages="c,c++"
make (ここでエラー)

xgcc: installation problem, cannot exec `mips-tfile': No such file or directory
*** Error code 1

Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1

Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3/gcc
*** Error code 1

Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3

googleでmips-tflileを検索すると--with-gnu-asをつけた方がよい
との例があったので、それを追加して再チャレンジ
URLリンク(www.spacelan.ne.jp)
(gcc-3.3/ ディレクトリは一度消してやりなおし)


398:393
03/07/23 01:27
make (またエラー)
tiswctype.c ..linked
twctrans.c ..linked
twctype.c ..linked
wctype.exp ..linked
creating cache ../config.cache
configure: error: can not find install-sh or install.sh in .. ./..
*** Error code 1

Stop.
make: stopped in /home/tak/source/toolchain/gcc-3.3

ここで力尽きました。(gcc-3.3/ にはinstall-shがあるのに・・・)

399:393
03/07/23 01:30
本当は--enable-sharedと--enable-threadsもつけたいのですが
まず基本をするためにこのように(>>396-398)しました。

ただわからないのは、BSDには自前のlibcがあるのに
newlibが必要なのかと言うところです。
googleで検索するとみんなやり方がばらばらで
調べれば調べるほどどんどんわからなくなっていきます。。。

400:393
03/07/23 01:33
このやり方はgoogleとEmbedde UNIX,、
UNIX USERのGBA特集(--targetの指定の仕方)を参考にしました。
長くなりましたがよろしくお願いします

401:393
03/07/23 01:34
何度もすいません

hostはAthlon-xp1800+(つまりi386)のNetBSDです。

402:名無しさん@お腹いっぱい。
03/07/23 09:58
そんなに苦労して再コンパイルしたって、
目に見えて大きな変化は無いと思うんだけどね。

403:名無しさん@お腹いっぱい。
03/07/23 12:01
install-shをそれっぽいディレクトリにばらまいてみては?

404:名無しさん@お腹いっぱい。
03/07/23 18:06
っていうか、 .. って云ってるんだから gcc-3.3/ じゃなくてその上、
toolchain/ に置けばよさそうな気がする…
昔 cygwin で gcc compile したときも、一つ上に置いてたし。

405:393
03/07/23 22:59
>>402
VR4100シリーズのパイプライン最適化を試してみたいのです。
(GCC-3.3からなので)
効果がなるほどと思える物であれば
この先の3.4とかをプロジェクトに使おうかと・・・。
少しでも性能を上げたいんです、はい。

>>403-404
ではやってみます。

406:名無しさん@お腹いっぱい。
03/07/23 23:47
>>399
> ただわからないのは、BSDには自前のlibcがあるのに
> newlibが必要なのかと言うところです。

自前のlibcなんて、今後放置プレーなんじゃないの?


407:名無しさん@お腹いっぱい。
03/07/24 00:40
>>406
は?

408:名無しさん@お腹いっぱい。
03/07/24 01:27
>>407
夏厨は放置プレーしる

409:名無しさん@お腹いっぱい。
03/07/24 08:20
無知がnewlib使ってGPL汚染ウマー

410:名無しさん@お腹いっぱい。
03/07/24 13:21
newlibってeCosのためのライブラリだと思ってたけど
これって間違ってますか?

411:名無しさん@お腹いっぱい。
03/07/24 13:37
まあもともとは組み込みOS向けのちっこいlibcってことで開発
されたんだろうけど、いまとなってはCygwinが主要ターゲットって
説も…。

412:名無しさん@お腹いっぱい。
03/07/24 14:48
>>410
元になってるだけ。


413:393
03/07/31 21:56
試行錯誤してました。
まず、>>403-404
install.shをばらまくのはどうもだめでした。

ここで途方に暮れること数日・・・・。
そこでNetBSD1.6.1のクロスtoolchainの構築をlogに残して
どんなことやってるのか見てみました。
あと、build.shで作ることの出来るmips用includeファイルと
libを使えば良いんじゃないかと思い
こんなconfigureオプションにしてみました。

binutils
./configure --prefix=/usr/local/cross \
--target=mipsel--netbsd --with-gnu-as --with-gnu-ld \
--disable-nls --disable-shared

gcc-3.3
./configure --prefix=/usr/local/cross \
--target=mipsel--netbsd --with-gnu-as --with-gnu-ld \
--disable-nls --disable-shared \
--with-headers=$mipsel_include_path --with-libs=$mipsel_libs_path

なんとかうまくいきましたが疑問が・・・・・。

このheaderとlibは、あるディレクトリ以下の閉じたソースで
includeファイルをmake時に決めうちする場合
このgcc-3.3でつくるオブジェクトには影響しないんですよね。

つまりはこのheaderとlibはgcc-3.3構築のみに
使われると思ってるんですが・・・
認識あってますでしょうか?

414:393
03/07/31 21:59
あとgcc-3.3のマニュアルには
-mno-half-pic -mhalf-picがあるんですが
しらないオプションと言われるんです。
gccのメーリングリストで見つけました。

昨年の6月に削除されたようです・・・。
そのためNetBSDカーネルコンパイルできない・・・・。

マニュアルアップデートしてないのホントですね

415:名無しさん@お腹いっぱい。
03/08/01 15:25
>>413
libsupc++とか作るときに見るはず。
libgccも見てるっけ?


416:あぼーん
あぼーん
あぼーん

417:名無しさん@お腹いっぱい。
03/08/09 13:53
3.3.1 age

418:あぼーん
あぼーん
あぼーん

419:あぼーん
あぼーん
あぼーん

420:あぼーん
あぼーん
あぼーん

421:名無しさん@お腹いっぱい。
03/09/04 16:21
gccは糞

422:名無しさん@お腹いっぱい。
03/09/04 21:31
お通じありがたし

423:名無しさん@お腹いっぱい。
03/09/05 23:04
gccは糞

424:名無しさん@お腹いっぱい。
03/09/05 23:34
3.4 でまた C++ ABI 変わるってほんと?


425:名無しさん@お腹いっぱい。
03/09/06 12:01
>>424
URLリンク(gcc.gnu.org)


426:名無しさん@お腹いっぱい。
03/10/19 00:30
3.3.2age

427:名無しさん@お腹いっぱい。
03/10/19 20:25
Plamo Linux 2.2.6 上で gcc-3.3.2 をビルドしようとしてるんだが、

$ cd /usr/local/src
$ tar zxf ~/gcc-3.3.2.tar.gz
$ mkdir gccobj
$ cd gccobj
$ ../gcc-3.3.2/configure --prefix=/usr
$ make bootstrap

/bin/sh ./libtool --tag=CXX --mode=link /usr/local/src/gccobj/gcc/xgcc -shared-l
ibgcc -B/usr/local/src/gccobj/gcc/ -nostdinc++ -L/usr/local/src/gccobj/i686-pc-
linux-gnu/libstdc++-v3/src -L/usr/local/src/gccobj/i686-pc-linux-gnu/libstdc++-v
3/src/.libs -B/usr/i686-pc-linux-gnu/bin/ -B/usr/i686-pc-linux-gnu/lib/ -isystem
/usr/i686-pc-linux-gnu/include -L/usr/local/src/gccobj/i686-pc-linux-gnu/libjav
a -ffloat-store -g -O2 -o libgcj.la -objectlist libgcj.objectlist \
../boehm-gc/libgcjgc_convenience.la ../libffi/libffi_convenience.la ../zlib/libz
gcj_convenience.la \
-rpath /usr/lib/. -rpath /usr/lib/. -lpthread ./libltdl/libltdlc.la -version-i
nfo `grep -v '^#' ../../../gcc-3.3.2/libjava/libtool-version`

ここでループしちゃって帰ってこない。
なんでだろ?


428:名無しさん@お腹いっぱい。
03/10/20 04:10
>>427
> ここでループしちゃって帰ってこない。
> なんでだろ?

まちつづけることが重要です。

429:427
03/10/20 11:59
>>428
修行がたりませんでした。
いい子にして待ちます。
ども。


430:427
03/10/21 14:08
長い...。
24 時間たっても終わらないよぅ(Celeron 1.4GHz)。


431:427
03/10/21 15:44
終わった...。
26 時間ばかりかかったです。

こーゆーのを見ると旧式になったのだなぁと思ふ。

432:名無しさん@お腹いっぱい。
03/10/21 21:38
世間ではCeleron 1.4GHzで旧式なのか...........

433:427
03/10/21 22:13
いや、俺もそんなことはないと思いたいのだが、
1アプリにすぎない gcc のビルドに丸1日かかっちゃうと
ちょっと切ない気持ちになる。

フツーに使う分には十分な性能なんだがな。


434: ◆Ir5kue8F32
03/10/21 22:16
>>431
gmake -j 2 bootstrap
とかしてる?

435: ◆Ir5kue8F32
03/10/21 22:19
Status of processor 1 as of: 10/21/03 22:19:15
Processor has been on-line since 10/20/03 02:54:11.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.
Status of processor 3 as of: 10/21/03 22:19:15
Processor has been on-line since 10/20/03 02:54:12.
The sparcv9 processor operates at 296 MHz,
and has a sparcv9 floating point processor.

というマシンで今からビルドしてみます。
とれくらいかかるかな?

436:名無しさん@お腹いっぱい。
03/10/21 22:21
書きわすれた。
>>427
java で馬鹿みたいに時間喰ってるので、java を使用しないのであれば、
--enable-languages="c,c++,f77,objc,ada"
でかなり時間を節約できます。

437:名無しさん@お腹いっぱい。
03/10/21 22:41
漏れは--enable-languages=c,c++だけだな

438:名無しさん@お腹いっぱい。
03/10/22 00:01
libgcc_s.soをdynamic linkされるのがうっとおしいので
いつもspecsファイルを手で変更しているのですが、./configure
のオプションなどで変更できるのでしょうか?

439: ◆Ir5kue8F32
03/10/22 02:30
>>438
--disable-shared

440:名無しさん@お腹いっぱい。
03/10/22 11:51
>>435
03:38 に終わっていました。
一日もかかりませんでした。

441:427
03/10/22 14:48
あー、何も考えないで 427 の手順のままやっちまったよ。

>>434
CPU 1個のシステムでも結構効果上がる?
つか、試してみます。

>>436
ですね。
今までこんなに時間がかかったことがなかったから
ちとびっくりした。
3.3 のときはせいぜい数時間だったような。

442:438
03/10/22 23:29
>>439 THX

443:名無しさん@お腹いっぱい。
03/10/23 12:24
>>441
なんとなくメモリ不足でスラッシング起こしているんでは?
とか思ってみる。


444: ◆Ir5kue8F32
03/10/23 19:29
>>442
ちなみに、既にインストールされているものは手動で消さなきゃだめ。


445:名無しさん@お腹いっぱい。
03/11/01 17:38
H8用cross、未だ3.0.3+平田patchを超えられず(;´Д`)

446:名無しさん@お腹いっぱい。
03/11/02 02:19
うちのSS5だとどれ位かかるかな…

447:名無しさん@お腹いっぱい。
03/11/02 19:33
>>445
そうかなあ?
たしかに謎な挙動が結構あるが。

そういえば3.4は最適化がちょっと強化されるらしい。


448:名無しさん@お腹いっぱい。
03/11/02 21:54
3.4 はまた C++ ABI が変わるんだとか...


449:名無しさん@お腹いっぱい。
03/11/02 23:13
ヽ(`Д´)ノ

450:名無しさん@お腹いっぱい。
03/11/09 03:43
Solaris で、マルチスレッドのコンパイル&リンクするときって、どうやるの?


451:名無しさん@お腹いっぱい。
03/11/09 07:45
#define _REENTRANT
#include <pthread.h>
#include <thread.h>

Sunのcc: -mt ... -lpthread [必要ならば -lrt]
gcc: -pthread ... -lpthread [必要ならば -lrt]

452:名無しさん@お腹いっぱい。
03/11/09 07:51
gccはoption無しで大丈夫。

453:名無しさん@お腹いっぱい。
03/11/16 09:20
make age

454:オブジェクト指向促進運動
03/11/16 21:12
IT業界にアージャイル開発とデザインパターンを広めよう!

C言語を使ってかなり苦労したので
その苦労を最小限におさえるために
アージャイル開発、デザインパターンを
多くのプログラマに使って欲しいと思うことがある。

一種の挨拶みたいなものだね。
「なるべく挨拶を心がけましょう。」
「なるべき綺麗な字で書きましょう。」
のように

デザインパターンを使うこと、アージャイル開発することが
プログラマの習慣、常識になってほしい。

なんとか、デザインパターン文化、アージャイル開発文化を押し広げられたら・・・。

IT業界の将来はオブジェクト指向とアージャイル開発が握っています!

455:名無しさん@お腹いっぱい。
03/11/17 02:48
オブジェクト指向==デザパタですか。ずいぶん視野の狭いお話で。

456:名無しさん@お腹いっぱい。
03/11/17 10:17
いまだに2.95ですが何か

457:名無しさん@お腹いっぱい。
03/11/17 13:36
>>456
ちんぽむけてますか?

458:名無しさん@お腹いっぱい。
03/12/06 20:10
俺的にさっさとlispのコンパイラ作って欲しい

459:名無しさん@お腹いっぱい。
03/12/07 08:03
Gnu is Not Unix
RMSおよびGNUはUNIX市場をぶち壊すことがその目的です。
LISP,関数型言語の繁栄のために日夜努力されているのです。
Allegroの商圏を踏み荒らすような真似をするはずも
ありません。

460:名無しさん@お腹いっぱい。
03/12/12 23:13
anonymous cvs server落ちてる?

461:名無しさん@お腹いっぱい。
03/12/18 17:56
ここ最近ずっとおかしくない?

462:名無しさん@お腹いっぱい。
03/12/19 07:53
うん、gnu.orgのCVS serverおかしい

463:名無しさん@お腹いっぱい。
03/12/19 18:28
まあg++の作業はちょっと遅れてるっぽいし、
3.3の完成度は高いから、2年ぐらいは
新規のリリースなしでもいいかな~なんて。

464:名無しさん@お腹いっぱい。
04/01/24 00:53
gcc 3.4 って、cc1 とか collect2 が /usr/libexec に移動しているね。
それと /usr/lib/gcc-lib が /usr/lib/gcc になってた。

465:名無しさん@お腹いっぱい。
04/01/24 05:44
WE LOVE GCC!!!

466:名無しさん@お腹いっぱい。
04/01/26 20:47
>>463
そろそろ3.4.0Releaseという噂が聞こえてきましたよ…


467:461
04/01/29 22:22
>>462
できればrsyncだけでなくcvsupとかも動かしてくれるとディスクを
たくさんガリガリやらなくて済むんだけどな。

468:名無しさん@お腹いっぱい。
04/02/08 12:38
このスレの温度

 |  |- 20
 |  |
 |  |- 10
 |  |
 |  |-  0
 |  |
 |  |- -10  ∧_∧
 |┃|       (´∀` )
 |┃|       (    )
. (●)     | | |
   ̄     (_(__)

469:名無しさん@お腹いっぱい。
04/02/12 03:05
3.3の完成度は高いのか....(泣)

insn:HI 2040 2044 3203 137 ff01ebc0 (set (reg:DI 31 %i7 [32])
(fix:DI (fix:DF (reg:DF 32 %f0 [647])))) 166 {fix_truncdfdi2} (insn_list 2037 (nil))
(nil))
exif.c:673: internal compiler error: in reload_cse_simplify_operands, at reload1.c:8345
完全なバグ報告を送って下さい。
適切ならばプリプロセス後のソースをつけてください。
<URL:URLリンク(gcc.gnu.org) を見れば方法が書いてあります。
gmake: *** [exif.o] Error 1
bash-2.05$ gcc -v
/opt/gnu/lib/gcc-lib/sparc-sun-solaris2.9/3.3.2/specs から spec を読み込み中
コンフィグオプション: ../gcc-3.3.2/configure --prefix=/opt/gnu --enable-languages=c,c++
スレッドモデル: posix
gcc バージョン 3.3.2


470:名無しさん@お腹いっぱい。
04/02/12 14:04
漏れは3つ位出したぞ。sparcじゃないけど。
マイナーなアーキテクチャの宿命だ。
メンテナが頑張ってくれているので消えることは無さそうだが。


471:名無しさん@お腹いっぱい。
04/02/13 09:49
少しぐらいのバギー加減は、ユーザーにコンパイラの内部動作に
関心持ってもらうためには必要だと思われ。とかいってみる。

472:名無しさん@お腹いっぱい。
04/02/15 03:50
>>471
emacs-21.3をleim入れてコンパイルしたら使い物にならないバイナリを吐くのも
啓発のためっすか?(泣)

最初 big-5 あたりでcore吐いていたので configure と Makefile いじれば
なんとかなるかと思って色々やってみたんだけど...

結局 3.2.3 にダウングレードしちゃった。手持ちソースではこちらの方が安定
しているみたいだし。


473:名無しさん@お腹いっぱい。
04/02/15 10:02
>>472
Emacs current つかいなよ。


474:名無しさん@お腹いっぱい。
04/04/16 01:51
いつの間にか 3.3.3 出てるのな。
アーカイブのディレクトリ構成かわってて気づかなかった。


475: ◆ieqrh9GF7Y
04/04/18 11:20
gccの挙動に関しての質問てどこに投げればいいの?
gcc-help ?
因みに質問は以下のコードをコンパイルすると if の部分
がなくなるのはなぜ?ってことなんだけど。

int hoge(signed char ch)
{
if ((unsigned short)ch > 127)
return 0;
return 1;
}


476:名無しさん@お腹いっぱい。
04/04/18 11:33
くだらない質問はここに書き込め!なんでもアリ32
スレリンク(unix板)

エスパーが次の人にアドバイスするスレ
スレリンク(unix板)

477:名無しさん@お腹いっぱい。
04/04/18 12:49
(キミのプラットフォームでは) signed char が取り得る範囲が -128~
127 で、その if は常に false でそ。


478:名無しさん@お腹いっぱい。
04/04/18 13:12
charが1byteではない。もしくは
-128から127っていう範囲でないっていう環境はあるの?

479:名無しさん@お腹いっぱい。
04/04/18 13:43
いまだにOpenBSD上でgcc2.95系使ってる俺って…

480:名無しさん@お腹いっぱい。
04/04/18 14:09
>>477
その説明はおかしい。
unsigned short にキャストしているから、
たとえば ch が -128 なら
(unsigned short の最大の値+1)-128になる。
大抵の環境で、unsigned short の最大の値は 127 より大きいので、
(unsigned short)ch は 127 よりおおきい値になり得る。
>>475
gccの問題のようですね。比較の相手を127でなくて1にしても
同じ症状が出ますから、charの範囲、という問題でもない。

481:名無しさん@お腹いっぱい。
04/04/18 14:54
>>480
> 大抵の環境で、unsigned short の最大の値は 127 より大きいので、
> (unsigned short)ch は 127 よりおおきい値になり得る。
そこで止まっちゃだめだよ。

もしch = -128だったら、unsigned shortにキャストした段階で符号ビットを
延長するので左辺は1...10000000。一方、右辺は整数定数127。これはサフィ
クスがない10進数でintで表現しきれるのでintとして扱われる。

比較演算子の左辺はunsigned short、右辺はintだから、演算を適用する前に
両方ともintへキャストされる。intはunsigned shortより小さいことはないか
ら、左辺のビットパターンはそのまま。よって最初のchが負の値の場合、キャ
スト後のintとしての左辺も必ず負の値になるので、この条件文は常に偽。


482:名無しさん@お腹いっぱい。
04/04/18 15:01
>>481
感動した

483:名無しさん@お腹いっぱい。
04/04/18 15:27
>>481
> intとしての左辺も必ず負の値になるので

なりませんよ。
signedをunsignedにしたばあい、unsignedの範囲に入るようにunsignedの最大値+1を
必要な回数だけ加算する。singed char -1をunsigned shortにした場合USHRT_MAXになる。
つぎに、int以下の整数演算はintに格上げされて演算される(右辺がintでなくても格上
げされる)が、値保存で変換されるのでUSHRT_MAXのまま。

unsigned shortがintより範囲が広い場合、両辺がunsigned shortに変換されて比較されるので、
結果は同じ。

484:名無しさん@お腹いっぱい。
04/04/18 15:32
>>481
ちがう。ch=-128 (10000000) で
unsigned short が 16 ビットだとしたら、
左辺は 1111111110000000 になる。これを int (符号付き)
に promote (キャストではない) させる。
int が 32 bit だとしても、unsigned short からの
変換だから、左に 1 は補われない。ゆえに、
00000000000000001111111110000000
になる。

485:名無しさん@お腹いっぱい。
04/04/18 15:46
>>475
if ((unsigned int)ch > 127)
にしる。
どうしても unsigned short で比較したい場合は
右辺も unsigned short の入れ物に入れる。

486:名無しさん@お腹いっぱい。
04/04/18 15:53
unsigned shortにキャストする意味って何?

487:名無しさん@お腹いっぱい。
04/04/18 16:13
プログラムの意図が全くわからんな。
int hoge(signed char ch)
{
return ch >= 0;
}
ってやりたいわけ?

488:名無しさん@お腹いっぱい。
04/04/18 16:20
gcc の中の人も大変だな。

489:名無しさん@お腹いっぱい。
04/04/18 16:45
signed charなんてものを作った奴は腹かっさばいてお詫びしろや。

490:名無しさん@お腹いっぱい。
04/04/18 17:47
符合付き8bit整数はごく普通のデータ型ですよ。
8080とかね。

491:名無しさん@お腹いっぱい。
04/04/18 18:08
つーか最初にchar をungigned なoctet にした奴に栄光あれ、だな。

492:名無しさん@お腹いっぱい。
04/04/18 21:09
規格上はどっちでもいいよ。
signed char, unsigned charと同じ値を持たなくてもいいし。

493: ◆ieqrh9GF7Y
04/04/18 22:49
例はバグを簡略化したものです。
>>484 同じ解釈です。
>>480 gcc の問題とすると報告すべきはどこ? <- 元の質問の意図
127 を 128 にすると、if は残る。逆に gcc -O0 で作っても
if 部分は影も形もなくなるので、Optimizer の仕業ではなく、
C言語仕様解釈の問題だと思ってる。


494:名無しさん@お腹いっぱい。
04/04/18 23:12
URLリンク(gcc.gnu.org)


495:名無しさん@お腹いっぱい。
04/04/19 01:14
このプログラムのほうが問題点が明確になるかな。
i は明らかに 1より大きいのに、それを1と比較すると0になる。
-O0でも同じ。 gcc2.95.4だと期待した通りになる。
#include <stdio.h>

main()
{
char c = -128;
int f, i;
i = (unsigned short) c;
f = (unsigned short) c > 1;
printf("i => %d, i>1 => %d\n", i, f);
}

496:名無しさん@お腹いっぱい。
04/04/19 01:49
些細なことですが return 0; しとこうね。

497:名無しさん@お腹いっぱい。
04/04/19 03:58
precompiled header に魅かれてgcc3.4インストールしたのに
>sorry, unimplemented: had to relocate PCH
って言われた。
どういうことじゃヽ(`Д´)ノ

498:名無しさん@お腹いっぱい。
04/04/19 07:01
>>495-496
C99では明示的にreturn 0;を書く必要はありませんね。
まあ gcc2.95.4 には関係ないことでしょうけど。

499:名無しさん@お腹いっぱい。
04/04/19 07:48
>>478
SHARC/TigerSHARC は char は32bitですよ。
こいつはGCCが標準コンパイラです。


500:名無しさん@お腹いっぱい。
04/04/19 10:12
じゃ、shortも32bitなんだ

501:名無しさん@お腹いっぱい。
04/04/19 10:29
>>495を、
gcc -c -O -dra foo.c すると、"ce1"の後に消える。
gcc -c -O0 -dra foo.c すると、なぜかcompareは残ったままだね。
"mach"の後で消えてるのかな。



502:名無しさん@お腹いっぱい。
04/04/20 00:29
>>500
鋭いですね、そうですよ。
で、sizeof( 整数の型名 ) するとどれも1が返ってきてあせる(笑)
バイトアドレシッシングじゃなくてワードアドレッシングだからこれで正解なんだろうけど


503:名無しさん@お腹いっぱい。
04/04/20 00:53
BCPLかよ!?

504:名無しさん@お腹いっぱい。
04/04/20 17:46
よく分かんないんだけど、つまりCHAR_BITSが32ってこと?

505:名無しさん@お腹いっぱい。
04/04/21 21:18
3.4.0 release sage

506:名無しさん@お腹いっぱい。
04/04/21 21:45
>>505
gccの公式ページよりdistrowatchの方が早くアナウンスしてたのには
驚いた。
まだ使うにはたぶん危険だよね?パフォーマンスはアップしてるのかな?

507:名無しさん@お腹いっぱい。
04/04/21 22:00
危険大好き


次ページ
最新レス表示
レスジャンプ
類似スレ一覧
スレッドの検索
話題のニュース
おまかせリスト
オプション
しおりを挟む
スレッドに書込
スレッドの一覧
暇つぶし2ch