タグ付けされた質問 「gcc」

GNU Compiler Collection Suiteに関する質問。

1
'cc1'を実行しようとしたGCCエラー
Raspberry Pi用のLinuxカーネルをラップトップ(debian 7を実行)でクロスコンパイルしていました(こちらの手順に従ってください)。しかし、コンパイルを開始すると(make ARCH=arm CROSS_COMPILE=${CCPREFIX})、次のメッセージが表示されます。 CHK include/linux/version.h CHK include/generated/utsrelease.h make[1]: `include/generated/mach-types.h' is up to date. CC kernel/bounds.s gcc: error trying to exec 'cc1': execvp: No such file or directory make[1]: *** [kernel/bounds.s] Error 1 make: *** [prepare0] Error 2 問題は、cc1が見つからないか、gcc正しくインストールされていないことだと考えました(したがって、gccを再インストールしましたapt-get --reinstall install gccが、運はありませんでした)。 gcc -v 与える: Using built-in specs. COLLECT_GCC=gcc …


2
スタックカナリア汚染はどのように記録されますか?
フラグGCC -fstack-protectorフラグは、スタックオーバーフロー保護のためのスタックカナリアの使用を有効にします。このフラグのデフォルトの使用は、近年顕著になっています。 パッケージが-fstack-protectorを使用してコンパイルされている場合、プログラムでバッファーをオーバーフローすると、次のようなエラーが発生する可能性があります。 *** buffer overflow detected ***: /xxx/xxx terminated ただし、「誰」がこれらのエラーメッセージを担当していますか。これらのメッセージはどこに記録されますか?syslogデーモンはこれらのメッセージを選択しますか?
11 logs  gcc 

3
UbuntuにGCC 7をインストールしますか?
GCC 7でテストを実行しようとしています。gcc-7またはclang 4.0のインストール方法によると、Ubuntu.SEでは、GCC 7をUbuntuにインストールするには、次の手順を実行できます。 add-apt-repository ppa:ubuntu-toolchain-r/test && apt-get update && apt-get install -y gcc-7 コマンドはインストール時に失敗します。 # apt-get install -y gcc-7 ... E: Unable to locate package gcc-7 7.1を試す: # apt-get install -y gcc-7.1 ... E: Unable to locate package gcc-7.1 E: Couldn't find any package by glob 'gcc-7.1' E: Couldn't …
11 ubuntu  apt  gcc  ppa 


2
fs:[0x28](スタックカナリア)を設定するものは何ですか?
この投稿からFS:[0x28]、スタックカナリアであることが示されています。この関数でGCCを使用して同じコードを生成しています。 void foo () { char a[500] = {}; printf("%s", a); } 具体的には、このアセンブリを取得しています。 0x000006b5 64488b042528. mov rax, qword fs:[0x28] ; [0x28:8]=0x1978 ; '(' ; "x\x19" 0x000006be 488945f8 mov qword [local_8h], rax ...stuff... 0x00000700 488b45f8 mov rax, qword [local_8h] 0x00000704 644833042528. xor rax, qword fs:[0x28] 0x0000070d 7405 je 0x714 0x0000070f e85cfeffff …
11 linux  security  gcc  stack 

1
私のマシンでバッファオーバーフロー保護を無効にする方法はありますか?
Debian 6、Ubuntu 12.04、Fedora 16など、さまざまな仮想マシンでバッファーオーバーフローを試したいのですが、バッファーオーバーフローエクスプロイトを実行しようとすると、次のメッセージが表示されます。 stack smashing detected (core dumped) 私の調査を行った後、それはコンパイラに実装されたバッファオーバーフロー保護と呼ばれる機能であると読みました。GCCインスタンスが使用GCCスタックスマッシングプロテクター(プロポリス)を、クラン/ LLVMを使用し、二つのバッファオーバーフロー検出器、SafeCodeとAddressSanitizerを。 私の質問は次のとおりです。私のマシンでのバッファオーバーフロー攻撃を本当にチェックアウトしたいので、バッファオーバーフロー保護を無効にする方法(コンパイラフラグ、たぶんLinux設定ファイル?)はありますか?
11 linux  security  gcc 

2
glibc-devel.i686のインストール後に32開発ライブラリエラーが発生しない
centOS 6にgcc 4.9.0をインストールしようとし./configureています。次のエラーが発生します。 /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat-linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: skipping incompatible /usr/lib/gcc/x86_64-redhat- linux/4.4.7/libgcc_s.so when searching for -lgcc_s /usr/bin/ld: cannot find -lgcc_s collect2: ld returned 1 exit status configure: error: I suspect your system does not have 32-bit developement libraries (libc and headers). If you have them, rerun …
11 centos  gcc  glibc 

1
FreeBSDに最新のgccをインストールするにはどうすればよいですか?
gccFreeBSDに最新のバージョンをインストールし、システムをセットアップして、この最新バージョンを使用してさらにプログラムをコンパイルする方法を教えてください。 この記事の執筆時点での最新リリースgccはバージョン4.9.0です。そして、私はFreeBSD 10.0を使用しています。 実際にはg++、C ++コンパイラが必要です。しかしgcc49、パッケージのようなものをインストールする必要がありますよね?
10 freebsd  gcc  g++ 

1
debian wheezyにgcc 4.8.1をインストールする方法
Debian Wheezy 7.1.0システムにGCC 4.8.1をインストールしたいと思います。私のシステムにインストールされているGCCの現在のバージョンは4.7.2です。Debianリポジトリでgcc-4.8.1が利用可能です。誰かがこの更新を実行する方法を教えてもらえますか?
10 debian  gcc 

1
Beagleboard用のCross Linux From Scratch(CLFS)用のGCCクロスコンパイラーを構築する方法
現在、私はからの命令でゼロから組込みLinuxを構築しようとスクラッチからのクロスのLinux。 GCCクロスコンパイラーをコンパイルしようとするまで、すべてがうまくいきました。Beagleboard-xM用のLinuxを構築したいので、次の設定を選択しました。 export CLFS_ABI="aapcs-linux" export CLFS_HOST="x86_64-cross-linux-gnu" export CLFS_TARGET="armv7a-unknown-linux-uclibceabi" export CLFS_ARCH="arm" export CLFS_ENDIAN="little" export CLFS_ARM_ARCH="armv7" export CLFS_ARM_MODE="arm" export CLFS_FLOAT="hard" export CLFS_FPU="neon" いいえ、このページの手順を実行しようとすると、コマンドでmake all-gcc all-target-libgccエラーが発生します。 checking for armv7a-unknown-linux-uclibceabi-gcc... /mnt/clfs/sources/gcc-build/./gcc/xgcc -B/mnt/clfs/sources/gcc-build/./gcc/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/bin/ -B/mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/lib/ -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/include -isystem /mnt/clfs/cross-tools/armv7a-unknown-linux-uclibceabi/sys-include checking for suffix of object files... configure: error: in `/mnt/clfs/sources/gcc-build/armv7a-unknown-linux-uclibceabi/libgcc': configure: error: cannot compute suffix of …

4
Cコンパイラは実行可能ファイルを作成できません
Linux Mint 17.1にwineをインストールしようとしています。それをインストールするには、ルートとして./configureを実行しました。 入力: cd Downloads/wine-1.6.2 ./configure 出力: checking build system type... x86_64-unknown-linux-gnu checking host system type... x86_64-unknown-linux-gnu checking whether make sets $(MAKE)... yes checking for gcc... gcc checking whether the C compiler works... no configure: error: in `/home/(my username)/Downloads/wine-1.6.2': configure: error: C compiler cannot create executables See `config.log' for …
9 linux-mint  gcc  wine 

2
GNUをコンパイルしてブートストラップすることは可能でしょうか?
新しいGuixリリースが少し前に出ました。そして、glibc、gcc、およびguixをHURDおよびMachにブートストラップできれば、Linux以外のGNUシステムを使用できるというアイデアを得ました。ただし、bash、emacs、binutils、coreutils、initシステムなどのソフトウェアも必要です。Linuxに依存するシステムコールがあるものはありますか?LFSのようにできますか?
9 gcc  glibc  hurd 

2
.dtorsは書き込み可能に見えますが、segfaultを書き込もうとします
これはUbuntu 9.04、2.6.28-11-server、32ビットx86です。 $ cat test.c main() { int *dt = (int *)0x08049f18; *dt = 1; } $ readelf -S ./test ... [18] .dtors PROGBITS 08049f14 000f14 000008 00 WA 0 0 4 ... $ ./test Segmentation fault $ 開始されていない場合:gccは、終了.dtors後に呼び出されるelf実行可能ファイルにデストラクタセグメントを作成しmain()ます。このテーブルは長い間書き込み可能readelfでしたが、私の場合はそうであるように見えます(出力を参照)。ただし、テーブルに書き込もうとすると、セグメンテーション違反が発生します。 最近読み取り専用の.dtors、pltに移行する動きがあったことは承知していますが、私が理解していないのはreadelfとsegfaultの不一致です。

3
Solaris 11にインストールした後のGCC-5はどこにありますか?
私の無知を許してください...私は興味のあるC / C ++ライブラリのテストにのみSolarisを使用しています。私はSolaris管理者でもSolarisユーザーでもありません。 GCC-5をSolaris 11.3、x86にインストールしました。これは、サポートするC ++コンパイラが必要だったためです-std=c++11(パッケージの出力については以下を参照してください)。SunのネイティブGCCは4.8であり、C ++ 11を(またはまったく)サポートしていません。 残念ながら、インストール後は見つかりません。 $ g++-5 --version -bash: g++-5: command not found $ sudo find /usr -name gcc-5 $ sudo find /bin -name gcc-5 $ そして完全性のために: $ /bin/gcc --version gcc (GCC) 4.8.2 ... $ ls -l /usr/bin/gcc lrwxrwxrwx 1 root root 18 Jun 7 …

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.