4.4 がこの機能のサポートを追加したバージョンだと思います。以下に、(コードではなく) 大きなデータ ブロックが必要な場合に、4.4 は動作するが 4.1 は動作しないことを示します。4.2 と 4.3 についてはよくわかりませんが、あなたの例と私の記憶の両方から、4.3 にはこれに対する機能的なサポートがなかったことを示唆しています。私の例では、特定のインストールが機能するかどうかを検証することができますが、それ以外の場合は簡単にコンパイルできるコードのビットを使用できます。
背景として、ストリーム ベンチマークのフォークであるプログラムを維持しています。このプログラムは、大規模なシステムをテストするために 64 ビット構造を使用するように特別に変更されています。「-mcmodel=large」を使い始めるまで、これらの「relocation truncated to fit」エラーに悩まされていました。実際に機能しない限り、フォークはコンパイル/実行されません。私のプログラムと互換性があることが確実にわかっている gcc の最も古いバージョンは、Debian Squeeze に同梱されている 4.4.5 です。
これは、ストリーム コンパイルのフォークと、オプションなしで失敗した後、大規模なモデルで 4 GB を超える RAM を使用することを示す完全なテスト ケースです。
$ gcc --version
gcc (Debian 4.4.5-8) 4.4.5
...
$ git clone https://github.com/gregs1104/stream-scaling.git
$ cd stream-scaling
$ gcc -O3 -DN=200000000 -fopenmp stream.c -o stream
/tmp/cca8rR1I.o: In function `checkSTREAMresults':
stream.c:(.text+0x34): relocation truncated to fit: R_X86_64_32S against `.bss'
...
stream.c:(.text+0x6ab): additional relocation overflows omitted from the output
collect2: ld returned 1 exit status
$ gcc -O3 -DN=200000000 -fopenmp stream.c -o stream -mcmodel=large
$ ./stream
-------------------------------------------------------------
STREAM version $Revision: 5.9 $
-------------------------------------------------------------
This system uses 8 bytes per DOUBLE PRECISION word.
-------------------------------------------------------------
Array size = 200000000, Offset = 0
Total memory required = 4577.6 MB.
...
RedHat 5 派生ソフトウェア (CentOS 5.8) を実行している大規模なモデルを持たない gcc のバージョンでは、次のようになります。
$ gcc --version
gcc (GCC) 4.1.2 20080704 (Red Hat 4.1.2-52)
...
$ gcc -O3 -DN=200000000 -fopenmp stream.c -o stream -mcmodel=large
stream.c:1: sorry, unimplemented: code model ‘large’ not supported yet
そのため、古いバージョンの gcc では、オプションを無視するだけでなく、そのエラーをスローする必要があります。
crtstuff は gcc に付属するライブラリです。あなたがリンクした gcc メーリング リストのバグ レポートは、RedHat 5 システム用に独自の gcc を構築しようとしている人からのものでした。彼らは大規模なモデルで gcc の一部を再構築しましたが、元の 4.1 で構築された crtstuff ライブラリにまだリンクしていました。適切にパッケージ化された gcc を使用している場合、この問題に遭遇することはありません。そのため、gcc 開発者はこれを実際のバグと見なしませんでした。gcc 4.4以降が必要だと思います。