実験コードを載せます。
C
1#include<stdio.h> 2 3int main(){ 4 printf("you will make me happy\n"); 5 return 0; 6}
**gcc source.c -o source **とやるとデフォルトで位置独立形式になる環境があるようです。
ubuntu16.10でemacsをビルドしたい
これを非位置独立形式にしたいです。
gcc source.c -fno-PIE -c
gcc source.o -fno-pie -o source
とやっても、
/usr/bin/ld: test_hello.o: relocation R_X86_64_32 against `.rodata' can not be used when making a shared object。 -fPIC を付けて再コンパイルしてください。 /usr/bin/ld: 最終リンクに失敗しました: 出力に対応するセクションがありません collect2: error: ld returned 1 exit status
と出現します。
他に方法はありませんか??
教えてください。
Linux 64bit debian系 gcc です。
回答2件
あなたの回答
tips
プレビュー