1 名前:デフォルトの名無しさん mailto:sage [2011/09/03(土) 14:13:04.14 ] 史上最強かもしれなかったツール、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 前スレ GCCについて part9 hibari.2ch.net/test/read.cgi/tech/1246059290/ 関連スレ 【最速へ】LowLevelVirtualMachine【LLVM】 hibari.2ch.net/test/read.cgi/tech/1211547655/
41 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 18:39:47.33 ] GCCはmanpageは参考程度と思え、とどっかで読んだ記憶がある
42 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 18:46:41.29 ] 今のbinutilsのmanなら-l namespecで同じ記述がある筈なんだけどなあ CentOSのパッケージの都合でもあるのか >>41 逆にさんざん探して無いと思ってた情報がmanに載ってる場合も
43 名前:デフォルトの名無しさん mailto:sage [2011/10/02(日) 18:51:17.70 ] gcc -Wl,--verbose ほげほげ
44 名前:デフォルトの名無しさん mailto:sage [2011/10/03(月) 00:59:51.12 ] >>40 > On systems which support shared libraries, ld may also search for > files other than libnamespec.a. Specifically, on ELF and SunOS > systems, ld will search a directory for a library called > libnamespec.so before searching for one called libnamespec.a. (By > convention, a ".so" extension indicates a shared library.) Note > that this behavior does not apply to :filename, which always > specifies a file called filename. manpageにこの記述がないbinutilsのバージョンは何?
45 名前:横レス mailto:sage [2011/10/03(月) 01:24:26.74 ] 説明 ld は複数のオブジェクトファイルや書庫 (archive) ファイルを結合し、それ らのデータをリロケートして、シンボルの参照をまとめる。新たな実行プロ グ ラ ムをコンパイルして作成する作業の最終ステップは、多くの場合 ld の呼び 出しとなる。 ld はリンカコマンド言語のファイルを受け付ける。このファイルでリンク処理 を明示的に、また完全に制御することができる。この man ページではコマンド 言語を説明していない。コマンド言語や GNU リンカのその他の内容に関する詳 細 は info の `ld' エントリか、マニュアルである ld: the GNU linker を参 照すること。 ld の本バージョンではオブジェクトファイル関連の作業に汎用の BFD ライ ブ ラ リを用いている。これによって ld では多くの異なるフォーマットのオブジ ェクトファイルを読み、書き、結合することができるようになっている ( 例え ば COFF や a.out)。異なるフォーマットをリンクして、あらゆる種類のオブジ ェクトファイルを作成できる。サポートされているフォーマットや関連する ア ーキ テ ク チ ャに 関しては ` objdump -i' を実行すればよい。詳細は obj- dump(1) を見よ。 GNU リンカは柔軟であるだけでなく、診断 (diagnostic) メッセージも他の リ ン カより詳しい。多くのリンカはエラーが生じるとすぐに動作を停止してしま うが、 ld は可能な限り処理を続け、他のエラーに関しても知らせようとす る ( あるいはエラーにもかかわらず出力ファイルを作成してしまうことさえある) 。 GNU リンカ ld は多くの状況をカバーするように作成されている。また他の リ ン カとできる限り互換性を保つようにしてある。したがって ld の振る舞いは 、コマンドラインや環境変数によって細かく制御できるようになっている。
46 名前:デフォルトの名無しさん mailto:sage [2011/10/05(水) 21:17:11.75 ] Merging In The GNU D Language Compiler To GCC www.phoronix.com/scan.php?page=news_item&px=OTk2NA D言語、いらっしゃい
47 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 19:40:37.99 ] objdumpでx86-64のバイナリモードで逆アセンブルしたいんだけど上手くいきません $ /usr/local/bin/objdump -D -m x86-64 -b binary a.exe a.exe: file format binary /usr/local/bin/objdump: can't use supplied machine x86-64 -m i8086 -m i386 では上手くいきますが-m x86-64は逆アセンブルしてくれません なんででしょうか? obudump -d a.exeとすれば普通にx86-64を逆アセンブルしてくれます
48 名前:デフォルトの名無しさん mailto:sage [2011/10/09(日) 19:48:38.09 ] -m i386:x86-64 -b binary ... これで上手くいきました・・・すいませんでした
49 名前:デフォルトの名無しさん mailto:sage [2011/10/28(金) 16:11:17.24 ] 4.6.2
50 名前:デフォルトの名無しさん mailto:sage [2011/11/22(火) 22:16:04.41 ] Binutils 2.22 released
51 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 06:13:33.85 ] すいません リンカ(ld)のオプション-Rについて教えてください マニュアルには「シンボル名とそのアドレスを filename から読み込む.」 とありますが、 これはライブラリのあるフォルダを指定しているということでしょうか? とすると、gccの-Lや-lはなんのために有るのでしょうか?
52 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 07:00:06.55 ] -l LIBNAME, --library LIBNAME Search for library LIBNAME -L DIRECTORY, --library-path DIRECTORY Add DIRECTORY to library search path -R FILE, --just-symbols FILE Just link symbols (if directory, same as --rpath) -rpath PATH Set runtime shared library search path
53 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 21:57:03.33 ] >>52 ん? よくわからないです。 例えば cc -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -Wl,-R/usr/pkg/lib -L../lib -o pkg_add main.o perform.o -linstall -lfetch -larchive -lbz2 -lz -lnbcompat -lnbcompat を実行すると、 ../lib/libinstall.a(parse-config.o): In function `pkg_install_config': parse-config.o(.text+0x3f6): undefined reference to `fetchConnectionCacheInit' と言うエラーが出ます。 原因は、 -R/usr/pkg/libのところで、/usr/pkg/libというディレクトリが存在していないためだと思われるのですが、 -Wl,-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs -Wl,-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -Wl,-R//usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -Wl,-R../lib と追記した所、 cc:-R/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs linker input files unused sinece linking not done と出て、失敗してしまいました。 解決策は、/usr/pkg/libを作ってそこにlib**をコピーすれば良いかなとも思ったのですが、 これで良いでしょうか?
54 名前:デフォルトの名無しさん mailto:sage [2011/11/23(水) 22:24:14.63 ] >>53 >よくわからないです。 ド素人が何をしてるのか、わかる人がいるとは思えんけど --rpathってのは、暗黙にリンクされるlibファイルの場所を指定するんだけど (俺もよくわかってないので雰囲気でわかって頂戴) -Lはlibのある場所を指定するところ libhoge.aをlinkしたいとき、フルパスで指定すると ほげほげ/libhoga.a と書くところを -Lほげほげ -lhoge って、書けるっていうだけ libの依存関係によっては、書く順番によってはエラーになることがある 実績のあるtar玉から configure,makeして何やってるか、見て見るところから始めたら 言葉で覚えるより出来合いのもの見て覚えるほうを個人的にオススメする
55 名前:デフォルトの名無しさん [2011/11/28(月) 02:49:40.60 ] すいません。教えてください。 BSD/OSにてpkgsrcをコンパイルしています。 gccのバージョンは Using builtin specs. gcc version 2.95.3 20010315 (release) です。 何度か/usr/pkgsrc/bootstrap/bootstrapを行っていて、 失敗するごとに、ソースの修正→/usr/pkgsrc/bootstrap/cleanup→/var/dbの削除を行って 再度/usr/pkgsrc/bootstrap/bootstrapを行うという繰り返しで進んでいます。 /usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/pkg_install-20110805/addというディレクトリで cc -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libarchive/.libs -L/usr/pkgsrc/bootstrap/work/wrk/pkgtools/pkg_install/work/libfetch -L/usr/pkgs rc/bootstrap/work/wrk/pkgtools/pkg_install/work/libnbcompat -Wl,-R/usr/pkg/lib -L../lib -o pkg_add main.o perform.o -linstall -lfetch -larchive -lbz2 -lz -lnb compat -lnbcompat ../lib/libinstall.a(parse-config.o): In function `pkg_install_config': parse-config.o(.text+0x3f6): undefined reference to `fetchConnectionCacheInit' ../lib/libinstall.a(pkg_io.o): In function `fetch_archive_open': pkg_io.o(.text+0x19): undefined reference to `fetchXGet' というエラーが発生しました。
56 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 03:53:25.95 ] エラーメッセージの内容が理解できないの としか、いえんな
57 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 08:57:15.07 ] 何カ所でマルチポストしてるんだよこいつ
58 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 15:50:55.67 ] BSDIってまだサポートされてるのとかgcc-2.95とかそれでもマルチとか驚愕
59 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 17:56:22.57 ] autotoolsで作ってる共有ライブラリを fprofile-generate、fprofile-useを使って 最適化する方法の詳細な記事を書いてください。
60 名前:デフォルトの名無しさん mailto:sage [2011/11/28(月) 17:59:00.69 ] ?ttp://d.hatena.ne.jp/pyopyopyo/20060311
61 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 12:35:51.36 ] 私は高校2年の女子です。 C言語の勉強をしています。 次のようなプログラムを書きました。 #include <stdio.h> #include <curses.h> int main() { int x; getch("%u", x); printf("%\n", x); return 0; } コンパイルエラーが error: macro "getch" passed 2 arguments, but takes just 0 と、出ました。 /usr/include以下にcurses.hがあることは確認済みです。 原因と対策を教えてください。
62 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 13:43:09.47 ] error: macro "getch" passed 2 arguments, but takes just 0
63 名前:デフォルトの名無しさん mailto:sage [2011/12/02(金) 13:44:58.01 ] エラーメッセージを読め。読み方がわからなければ先生に聞け。 getch()に引数は不要。他の関数と間違えてる?
64 名前:デフォルトの名無しさん mailto:sage [2011/12/03(土) 01:51:07.80 ] エラーメッセージ、本当は error: の前に "なんとか.c:6:14 " みたいなのがあるはずだが。 それに本当にcursesでプログラムを書きたいのかと。 もしこれが真面目な質問なら、C言語の質問をするようなスレで、どんなプログラムを 作りたいのか説明して質問した方がいいと思う。 本当にcursesを使うならUNIX系の人じゃないと知らないかもしれんけど。
65 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 06:50:41.64 ] 初心者ですみません Cygwin で gcc を使ってます assert() を使用すると undefined reference to `_assert' エラーが出て困ってます どなたかご教授頂けると幸いです
66 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 07:23:22.03 ] #include <assert.h>してある?
67 名前:デフォルトの名無しさん mailto:sage [2011/12/04(日) 10:45:39.26 ] >>66 ビンゴでした(;^ω^)
68 名前:デフォルトの名無しさん mailto:sage [2011/12/08(木) 23:11:00.34 ] gccというかautotoolsなのですが ./configure --build=x86_64-w64-mingw32 と毎回指定するのが面倒なので、環境変数で指定できないでしょうか?
69 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 02:11:26.49 ] alias conf='./configure --build=x86_64-w64-mingw32' とでもしとけばいいんじゃね?
70 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 02:22:58.33 ] config.niceを拾っておいて2回目以降はそれ使わね?
71 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 02:42:43.54 ] >>70 config.niceって初めて知った。 ググるとPHPやApacheで使われているもののように見えるけど、よくわからん。
72 名前:デフォルトの名無しさん mailto:sage [2011/12/09(金) 17:49:05.22 ] >>70 head config.log してたわ〜と思ったけどそんなファイルできないぞ どうもautoconfの機能ではなく、configure.acに自分で処理書いて生成してるっぽいが
73 名前:デフォルトの名無しさん [2011/12/10(土) 23:10:38.16 ] SandyBridgeでg++ -march=native -mtune=native で作ったバイナリって Core2とかじゃ動かないみたいなんだけど、どのオプションでどれで動くかって 表か何かない?
74 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 03:28:34.47 ] >>73 nativeだとAVX(-mavx)が入るからだろ -march=core2にしたらいいよ オプションはこれででる ttp://d.hatena.ne.jp/ktomoya/20100510/1273510042
75 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 08:32:33.51 ] >>74 おぉ、サンクス。 ちなみに、MinGW/g++.exe (GCC) 4.6.1でこんなんでた。 -march=corei7-avx -mcx16 -msahf -mno-movbe -maes -mpclmul -mpopcnt -mno-abm -mno-lwp -mno-fma -mno-fma4 -mno-xop -mno-bmi -mno-tbm -mavx -msse4.2 -msse4.1 --param l1-cache-size=32 --param l1-cache-line-size=64 --param l2-cache-size=8192 -mtune=corei7-avx
76 名前:デフォルトの名無しさん mailto:sage [2011/12/11(日) 15:53:29.35 ] >>75 -mavx -msse4.2 -msse4.1 -maes -mpclmul -mpopcnt ... などがCPUごとに実装状況が異なる命令を使うってオプションだから SSE4.2やAVX、POPCNTなど最近できた命令に対応していないプロセッサだと動かない -march=nativeはコンパイルしたマシンのプロセッサなどからこういうオプションを勝手に付けてくれるものだから 対応表とか作るとCPUのカタログになってしまうので コンパイル済みのバイナリを別のマシンで実行したいならmarchやmtuneは指定しないか 対象が分かっているならその中で一番機能が少ないプロセッサに合わせて設定したほうがいいかと
77 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 21:45:35.33 ] 普段Pythonを使っているんだけど、gcc on LinuxでCで何かの分野の処理をやるとしたら何の分野がいいかな? コーディングがマゾい奴はやりたくない。うひょー、コーディング楽しいって感じの週末にしたい。
78 名前:デフォルトの名無しさん mailto:sage [2011/12/16(金) 22:57:34.93 ] フィボナッチ数でも計算してろ
79 名前:デフォルトの名無しさん mailto:sage [2011/12/17(土) 04:10:44.29 ] wxPython と wxWidgets のバインディングが出来るツールをおながいしまつ
80 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 10:18:33.81 ] windows7にしたらResource temporarily unavailableエラーが頻出するようになったんだけど どういうことこれ
81 名前:デフォルトの名無しさん mailto:sage [2011/12/22(木) 12:07:36.06 ] Cygwin使っているならCygwin固有の問題
82 名前:デフォルトの名無しさん mailto:sage [2011/12/28(水) 14:50:50.96 ] 問題だね(´・ω・`)
83 名前:デフォルトの名無しさん mailto:sage [2011/12/31(土) 16:04:05.91 ] 問題と思うから問題になる 問題と思わなければ問題ない
84 名前:デフォルトの名無しさん mailto:sage [2012/01/01(日) 19:14:46.19 ] >>81 win7からメモリ管理の方式が変わったらしいし たぶんメモリアクセスのコンフリクトだと思うんだけど 直し方がなあ コンパイルするたびにがちゃがちゃとエラーで止まるのが非常にうざい
85 名前:デフォルトの名無しさん mailto:sage [2012/01/02(月) 13:01:35.03 ] 具体的に 何やったら、こうなった って、かいてほしいな
86 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 12:16:02.83 ] Cygwin + MinGW + GCC 相談室 Part 6 toro.2ch.net/test/read.cgi/tech/1304609116/ というのがある。
87 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 13:21:45.30 ] 4.6.1の情報はドコで手に入りますか?
88 名前:デフォルトの名無しさん mailto:sage [2012/01/03(火) 20:06:07.38 ] tar玉に入ってるだろ
89 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 18:39:50.52 ] 最適化しても助長なコードを吐くことがあるのを見つけちゃったよ
90 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:35:52.48 ] んではそのケース用peephole optimizationを.mdに追加してくれ
91 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 19:44:12.02 ] え、秘密にしてちゃ駄目かな?
92 名前:デフォルトの名無しさん mailto:sage [2012/01/05(木) 23:33:57.20 ] 助長してくれるならいいことじゃないか
93 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 00:22:32.22 ] 転送先に書いて、転送先から同じレジスタに書き戻すことがある で、わかりますか?
94 名前:デフォルトの名無しさん [2012/01/06(金) 14:47:54.30 ] ターゲット書かないのはターゲット非依存ってことなのか、今日日x86に決まってんだろうがってことなのか
95 名前:デフォルトの名無しさん mailto:sage [2012/01/06(金) 15:14:17.60 ] 複数archで確認してるよ、peephole2使って
96 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:17:08.34 ] 以下のようなコードでコンパイルは通るのですが 実行した時の表示が 1 1 のようになってしまいます。 1 2 になるつもりで書いているのですが 変数の受け渡しはどうすればいいのでしょうか? (円記号のところは本当はバックスラッシュになっています) #include <stdio.h> int test(a) { a = a + 1; return a; } int main() { int a; a = 1; printf("%d\n",a); test(a); printf("%d\n",a); return 0; }
97 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:35:35.37 ] a=test(a);
98 名前:デフォルトの名無しさん mailto:sage [2012/01/08(日) 22:52:02.15 ] #include <stdio.h> void test(int *a) { *a += 1; } int main() { int a = 1; printf("%d\n",a); test(&a); printf("%d\n",a); return 0; }
99 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 03:10:33.49 ] Commit: RX: Add return pattern ttp://gcc.gnu.org/ml/gcc-patches/2012-01/msg00627.html gcc/function.cの HAVE_return HAVE_simple_return の場合分けが悪いだけなのにね ここに書いても無駄だと思うけど、なんとなく
100 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 14:29:13.06 ] >>99 特定アーキテクチャの問題で共通部分に手を出すのはむずいのでふ
101 名前:デフォルトの名無しさん mailto:sage [2012/01/13(金) 15:20:26.40 ] 特定アーキテクチャの問題 じゃあねえよ、ど素人が
102 名前:デフォルトの名無しさん [2012/01/14(土) 14:19:50.12 ] >>101 んではRX以外に問題を起こしているアーキテクチャを挙げてくれ
103 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 17:37:33.78 ] 他のアーキテクチャはmdいじくって、回避してるよ どっちを修正すればいいかって話になるけど function.cの該当部分書いたのがイマイチだって感じかな?
104 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 17:46:01.66 ] archによってはわざとmakeでコケるような細工してあることが注意したほうがいいよ
105 名前:デフォルトの名無しさん mailto:sage [2012/01/14(土) 18:23:50.79 ] make の段階でこけるならまだ良心的だなw
106 名前:96 mailto:sage [2012/01/22(日) 23:41:41.30 ] 遅くなりましてすみませんが ご回答いただいた方ありがとうございました
107 名前:デフォルトの名無しさん mailto:sage [2012/01/27(金) 16:04:12.55 ] これからは礼の言葉はいらん
108 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 18:10:21.39 ] 対レジスタに関して演算結果で変化がないときは最適化してくれるけど 対メモリに対しては最適化されない時があるんだね、gcc
109 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 18:41:02.39 ] 頑張っても同じって場合なんじゃない?
110 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 18:46:57.74 ] レジスタ使い回しが出来る奴はあんまり影響がないけど メモリに依存したような奴は無駄なコードを吐いちゃうってことがある?ってことです
111 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 19:14:32.98 ] 最適化レベル6にしてるか?
112 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 19:28:33.24 ] aliasある疑いがある時はちゃんとメモリアクセスしないと仕方ねえしな。
113 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 20:01:52.41 ] 最適化レベル6ってどこのコンパイラのこと?
114 名前:デフォルトの名無しさん [2012/02/28(火) 20:25:22.47 ] THINK Cだろ
115 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 22:09:56.74 ] Linux 0.99とかその辺の話じゃないの?
116 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 22:19:55.95 ] ワシの最適化は108まであるぞ
117 名前:デフォルトの名無しさん mailto:sage [2012/02/28(火) 22:53:59.19 ] 内部的には3まででしょ、gcc -Oのあとの数字はなんでもうけつけるってだけで 最適化レベルっていっても細かなオプションが適時追加されるだけという
118 名前:デフォルトの名無しさん mailto:sage [2012/02/29(水) 09:17:44.33 ] やたらでかい数字に意味があったのってEGCS時代ぐらいじゃね?
119 名前:デフォルトの名無しさん [2012/02/29(水) 17:21:18.80 ] ぐらいだね
120 名前:デフォルトの名無しさん mailto:sage [2012/03/03(土) 12:56:03.52 ] 4.7.0
121 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:15:56.76 ] gcc4.7を使ってみたくて自前ビルドで詰まったんだけど,質問はここでいいのだろうか. 場所が悪ければ誘導願いたい Ubuntu 11.10で,gcc-4.7.0-RC-20120302をビルドしようとしてる. 標準エラーの最後の方がこんなのだったんでリンクができてなくて止まってるのはわかるんだけど glibcやらbinutilsあたり,aptにあるそれらしいやつは違うようだった 入れるべきパッケージなりが足りてない? それともlocateで出てくる奴にシンボリックリンクでも貼ればいいものだろうか ↓エラーログ /usr/local/bin/ld: cannot find crti.o: No such file or directory /usr/local/bin/ld: cannot find -lc /usr/local/bin/ld: cannot find crtn.o: No such file or directory collect2: error: ld returned 1 exit status 解決法探すコツみたいなものも教えていただけるとありがたい ログが膨大で何に重点をおくべきかわからなくなってる
122 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 01:31:56.68 ] glibcのdevelみたいなのが入ってないような感じ、debian系はよー知らんけど 今のgccはビルドするときに必要なパッケージが増えてるから、ご注意を ttp://packages.ubuntu.com/oneiric/gcc
123 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 07:45:36.03 ] >>121 Ubuntuにもmultiarch問題があるのか。
124 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 08:35:59.30 ] 自分で答え書いてるやん
125 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:05:25.71 ] リナックスは問題だらけで使い物にならんよ。 リナックスがパッケージシステムが出来て糞になってる間に windowsは安定してみんな使うようになった。
126 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:54:37.12 ] >>125 のようなバカが使ってるよな
127 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 10:59:19.59 ] メーカーがドライバーを作らないからな。 偽者のドライバーでは機能制限が多すぎて 最高のパフォーマンスを出すことは到底不可能だからな。
128 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 11:05:01.38 ] 釣りにしてはネタが腐ってるような?
129 名前:デフォルトの名無しさん mailto:sage [2012/03/08(木) 11:23:08.62 ] 寿司じゃないんだから・・・・ それを言うならエサでしょう。あいにっく 釣りっぽい発言には見えないが・・・
130 名前:121 mailto:sage [2012/03/08(木) 14:24:03.17 ] パッケージのgcc4.6は入ってるから,glibc系の依存してるパッケージは入ってるはず. /usr/libとかに勝手に作っちゃうと先々何か入れるときに衝突しそうで避けてたんだけど /usr/libにあるはずのものが/usr/lib/i386-linux-gnuに入っちゃってるって記事を見て シンボリックリンク貼って走らせておいたら通ってたよ 現在make check中. ものすごく無理やりな感があって正しいのか不安だけど,とりあえず回答に感謝
131 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:27:12.80 ] multiarch問題は--libdir=/usr/lib/i386-linux-gnuで解決するんじゃないのか?
132 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 01:46:40.72 ] あ,まさにそれっぽい これか. --libdir=dirname Specify the installation directory for object code libraries and internal data files of GCC. The default is exec-prefix/lib. 勝手に作ったシンボリックリンク外してやってみる
133 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:22:39.29 ] うまくいかないな configureに--libdir=/usr/lib/i386-linux-gnuやら --libexecdir=/usr/lib/i386-linux-gnuやらつけて 何回か試してみたけど見に行ってくれてないみたい ldが探す場所ってld.so.confが読んでる奴じゃなかったっけ. こっちに/usr/lib/i386-linux-gnuも入ってるのだけど, ldconfig -pに出てこないから探しに行ってないんだよな ここが解決すればよさそうな気もするのだけど. このあたりの話題はスレ違いだろうか
134 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:25:33.52 ] 64bitなgcc作りたいの? なら、32bitな環境入れとかないとコケるような
135 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:34:00.66 ] いや,そも全部32bit環境…のはず. i386,i686はアーキテクチャの差であってbit数は関係ないよね?
136 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:37:31.73 ] どこでコケてるのか、文章だけじゃ、わからないよ rpmなら、specファイル見たらって言えるんだけど
137 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 22:56:36.35 ] あ,出てるエラーは>>121 です ldが/usr/lib/i386-linux-gnu/を見ずに/usr/libまでしか見てないらしくて crti.oとかが無いと言われる /usr/libから手動でシンボリックリンクを貼ってみたら一回通ったけど, そうじゃなくてオプションでそちらを見る方法があるなら知りたい 直前のコマンドは引数多すぎて何をしてるのかよくわからないけど (ビルドしてるディレクトリ)/gcc/xgcc のようです
138 名前:デフォルトの名無しさん mailto:sage [2012/03/09(金) 23:57:50.14 ] なんかまだ具体性欠いてるきがするので追記. gcc4.7.0RCのmake中,>>121 のエラー そのあとの出力は以下,直前のコマンドは貼れないくらい長いものでxgccを起動してるらしい make[3]: *** [libgcc_s.so] エラー 1 make[3]: *** 未完了のジョブを待っています.... make[3]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build/i686-pc-linux-gnu/libgcc' から出ます make[2]: *** [all-stage1-target-libgcc] エラー 2 make[1]: *** [stage1-bubble] エラー 2 make: *** [all] エラー 2 make[2]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます make[1]: ディレクトリ `($HOME)/build/gcc-4.7.0-RC-20120302/build' から出ます ---ここまで--- 自分で判断できることと知りたい内容は>>137 の内容.
139 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:03:21.81 ] --disable-bootstapつけてやってみるとか、適当だけど 自分もその辺でハマった口だけど、 build.log見たりとか コケたところを部分的に手動でやってみたりとか gccのビルドって、自力でやるのがだんだん難しくなってる、自分的には 4.6あたりで出来るか試してみるのも、ひとつの手
140 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:48:37.07 ] そりゃ、野良のldをmultiarch対応せずに使っているなら見ねーよな
141 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:56:54.52 ] いろんなアーキテクチャに対応するために /usr/libにあったものを/usr/lib/(アーキテクチャ名)に移動してあるものがあって ldもmultiarchに対応したものを指定してやらないとならない,ってことか ldはbinutilsに含まれるってことで合ってる? binutilsも新しいもの入れたつもりだけど,古いの呼んじゃってるかもしれないから そのあたり調べてみる
142 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 00:58:53.88 ] 本当にバカだな 意味が分からないなら、ubuntuのbinutilsつかってみろ それで解決
143 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 01:03:33.54 ] Debianのgcc-4.7をリビルドして使おうとしないところが、頑なな奴だな。
144 名前:デフォルトの名無しさん mailto:sage [2012/03/10(土) 01:26:26.28 ] >>142 Ubuntu,もしかしたらDebianからかもしれんけど ディストリビューション特有の問題でそれに対応したのがちゃんと用意されてるから 素直にそれを使え,でいいんだろうか とりあえず自分で入れたbinutils削除してld -vでfor Ubuntuの文字を確認してから もう一度make中 >>143 Linux使い始めてそう経ってないから,常識をわかってないところは多々あると思うんで そういうところこそ聞きたかった 4.7使いたいだけならgnuの素のソースだけじゃなくて, Debianから試験的パッケージ出てたんだね だめならこっち試してみる
145 名前:デフォルトの名無しさん mailto:sage [2012/03/11(日) 00:02:07.11 ] --- a/src/gcc/config/i386/t-linux +++ b/src/gcc/config/i386/t-linux @@ -3,3 +3,5 @@ # t-slibgcc-elf-ver and t-linux SHLIB_MAPFILES = $(srcdir)/libgcc-std.ver \ $(srcdir)/config/i386/libgcc-glibc.ver + +MULTIARCH_DIRNAME = i386-linux-gnu
146 名前:デフォルトの名無しさん mailto:sage [2012/03/22(木) 23:22:47.12 ] GCC 4.7.0 released [2012-03-22]
147 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 01:22:03.60 ] __transaction_atomic の使い方がわからん 中に出てくる変数全部アトムボーイになるの?
148 名前:デフォルトの名無しさん [2012/03/25(日) 01:32:10.51 ] 超高速にシンタックスチェックだけしてくれるモードとか無い?
149 名前:はちみつ餃子 ◆8X2XSCHEME mailto:sage [2012/03/25(日) 01:40:49.49 ] lint 使えよ。
150 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 11:27:59.90 ] >>148 -fsyntax-only
151 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:53:44.63 ] 何の処理もせず、時間稼ぎをしたいとき、どのような方法がありますか? 例えば、キー入力を受け付けてから、5秒あけて、入力された内容を表示するという場合です
152 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 21:54:50.20 ] sleep(5);
153 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 22:58:58.43 ] >>147 gcc/testsuite/c-c++-common/tm/trxn-expr-2.c
154 名前:デフォルトの名無しさん mailto:sage [2012/03/25(日) 23:48:00.43 ] >>153 __transaction_atomic (a+b+c); これがどう働くのかを聞いてるんだよ・・・
155 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 00:25:25.52 ] >>154 噛み付かれても、俺もわからんのだけど gcc gcc/testsuite/c-c++-common/tm/trxn-expr-2.c -S -fgnu-tm -O2 でもやって、自力で答え見つけたら なんとなく、ポインターアクセス経由でやってるだけな感じだけど (思ってる答えとは違うかもね)
156 名前:デフォルトの名無しさん mailto:sage [2012/03/26(月) 17:18:46.67 ] gcc (GCC) 4.8.0 20120316 (experimental)
157 名前:デフォルトの名無しさん [2012/03/27(火) 15:41:50.42 ] macportで入れたgcc46で gcc-mp-4.6 -march=corei7 -E -v - </dev/null 2>&1 | grep cc1 としても、>.75のようではなく -fPIC -mmacosx-version-min=10.6.8 -march=corei7 -m64 としかででないのですけど、march=corei7の効果はないということでしょうか? corei7をcorei7-avxやcore2にしてもどうようです。nativeにしたときだけ>>75 のようにでてきます。
158 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 18:00:44.76 ] だって明示的にCPU指定したら命令セットは自明だろ キャッシュサイズは個々に違うから指定されないわけで
159 名前:デフォルトの名無しさん mailto:sage [2012/03/27(火) 19:31:02.63 ] そうか。d ということは、corei7でmarch=nativeやmarch=corei7を使うと、 mfpmath=sseを使う意味はないという理解で大丈夫ですか?
160 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 13:32:02.99 ] >>159 定義済みマクロがあるやつは cpp -march=core2 -dM < /dev/null | grep SSE とかで分かるな
161 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 18:27:01.41 ] 混乱中 manを読むと、-mavxは MMX, SSE, SSE2, SSE3, SSSE3, SSE4.1,SSE4.2 and AVXをサポートしているから 配布目的でなければ、-mmmxや-msseなどは付ける必要ないんだろうか? >>75 を見ると、-march=nativeをしたときには-mavxが自動的につくけど、 march=corei7-avxでは-mavxは自分で付けなければいけないということなのか? うむむむ
162 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 22:26:55.80 ] >>161 avxが有効だと__AVX__が1に定義されるから>>160 でそれを調べたら分かるのでは
163 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 22:33:05.99 ] >>161 -marchや-mtuneは-msseや-mavxみたいなオプションのセットという認識だけどな nativeの場合はプロセッサのフラグを呼んで有効になっている機能を使おうとするから msseみたいな物が個別につくのでは 例えばKVMとかで仮想CPUの場合に、物理CPUにある機能が一部無効になってると個別のオプションが変わったりする
164 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:01:18.78 ] ぶっちゃけアセンブリ出力を見たらどうか
165 名前:デフォルトの名無しさん mailto:sage [2012/03/28(水) 23:51:52.73 ] {"corei7-avx", PROCESSOR_COREI7_64, CPU_COREI7, PTA_64BIT | PTA_MMX | PTA_SSE | PTA_SSE2 | PTA_SSE3 | PTA_SSSE3 | PTA_SSE4_1 | PTA_SSE4_2 | PTA_AVX | PTA_CX16 | PTA_POPCNT | PTA_AES | PTA_PCLMUL}, if (processor_alias_table[i].flags & PTA_AVX && !(ix86_isa_flags_explicit & OPTION_MASK_ISA_AVX)) ix86_isa_flags |= OPTION_MASK_ISA_AVX;
166 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 12:06:21.03 ] SSEにしろAVXにしろ、OSが明示的に許可してないと使えないんだから 勝手に生成されたらまずいんでね
167 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/03/29(木) 12:20:20.92 ] 自分で指定しておいて勝手にとは如何に
168 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 10:04:51.69 ] gcc -Q --help=target -march=corei7-avx でわかるね
169 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 15:45:06.79 ] 現在時刻を端末上で、 ○時○分○秒 と表示させるにはどのような関数があるでしょうか? 環境はlinuxです。
170 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:25:22.33 ] info gcc そんな機能あるのか?
171 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 16:38:51.56 ] >>169 このへんから ttp://linuxjm.sourceforge.jp/html/LDP_man-pages/man2/settimeofday.2.html
172 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:14:32.47 ] >>170 若干ずれるがcppに頑張っていただけば #include <stdio.h> int main(void) { puts(__TIME__); }
173 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 17:53:35.07 ] >>172 なるほど、それをcppの代わりにインストールすればいいのか。
174 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:31:19.31 ] >>171 もうこんなの使うのやめなよ・・・
175 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:35:48.24 ] >>174 最近の事情はよー知らんので教えて欲しいな、どこ見りゃいいの?
176 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:50:52.52 ] >>175 下の方だよ
177 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:52:15.40 ] >>175 POSIX.1-2008 marks gettimeofday() as obsolete, recommending the use of clock_gettime(2) instead. って書いてある。
178 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/09(月) 23:54:59.95 ] >>177 ありがと
179 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/10(火) 09:02:00.63 ] clock_gettimeは致命的な遅さ
180 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 00:27:36.86 ] >>179 じゃあどうすりゃいいんだよ!
181 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 00:50:43.92 ] どうやって測ったのか知らんけど 遅いっていうのなら、glibcのソース見て、自前で実装するしかないでしょ
182 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 07:08:36.38 ] get_wild関数で変数名がxyzです。 何が起こるでしょうか?
183 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 07:31:21.19 ] >>181 つまりclock_gettimeは使わないという結論か
184 名前:営利利用に関するLR審議中@詳細は自治スレへ mailto:sage [2012/04/11(水) 14:43:38.38 ] >>183 time関係は遅いのかもしれんけど、今時の実行環境ならさほど問題になるようなことはない気がするけど 何をするかによっても関数の実行時間が問題になるかは変わってくるからね
185 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 01:36:44.09 ] >>182 アスファルトにタイヤを切りつける
186 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 12:34:06.48 ] >>182 プログラム「都市狩り」起動
187 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 12:35:16.88 ] >>182 プログラム「都市狩り」起動
188 名前:デフォルトの名無しさん mailto:sage [2012/04/12(木) 22:37:53.88 ] >>182 恋人が交通事故死します。
189 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 18:17:28.30 ] 冴羽遼は関係無いだろ
190 名前:デフォルトの名無しさん mailto:sage [2012/04/15(日) 20:46:36.79 ] じゃあ何ならいいんだ
191 名前:デフォルトの名無しさん mailto:sage [2012/05/03(木) 11:29:23.10 ] gccをビルドすると/usr/lib/に妙なperlかpythonのスクリプト(忘れた))が生成されるけど、あれ何するためのものなの?
192 名前:age mailto:sage [2012/05/03(木) 11:31:53.03 ] GCC4.7でIntelコンパイラーのように__Cilk命令がマージされたような話を聞いたけど、これ本当にマージされてるの? どうやったら動くの?何か特殊なビルドオプション等が必要?
193 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 00:57:31.93 ] ?-gdb.py 消しても問題みたいだけど
194 名前:デフォルトの名無しさん mailto:sage [2012/05/04(金) 01:00:40.04 ] 逝ってるなコンパイラは逝ってるなことやってるんだ