bin
で通常実行すると segfault でクラッシュする特定の実行可能ファイル ( と呼びましょう) があり./bin
ますが、この Makefile を作成すると:
all:
./bin
make
実行可能ファイルはエラーなしで実行され、正しく終了します。これはどのように可能ですか?
bin
で通常実行すると segfault でクラッシュする特定の実行可能ファイル ( と呼びましょう) があり./bin
ますが、この Makefile を作成すると:
all:
./bin
make
実行可能ファイルはエラーなしで実行され、正しく終了します。これはどのように可能ですか?
使用している make のバージョンはわかりませんが、古いバージョンの GNU make には、make が独自のスタック サイズを「無制限」に設定し、プログラムの実行時にデフォルト値に戻さないというバグがありました。GNU make の新しいバージョンでは、プログラムがデフォルトのスタック サイズで実行されるように、そのバグが修正されています。
https://savannah.gnu.org/bugs/?func=detailitem&item_id=22010を参照