それでいいのか?!

システム依存部を整理するついでに、メモリ構成も見直しました。これまでキャッシュのことは考えずにSRAMのサイズを確保していましたが、今回リリースに向けて用意しているシステム依存部は、いずれもコード、データ双方に16kBのキャッシュを割いています。
さて、Rebun依存部の試験をしているときに問題が発生しました。正常動作しません。苦戦することしばし。元のBF532依存部でビルドすると動きますから、差分に問題があります。で、調べてみたらやはりメモリ構成の変更がきいていました。よくよく調べてわかったのはこういうことです。BF532のデータメモリはAとBの二つに分かれており、これらが連続していません。そしてA、Bともに16kBです。今回、Bを全量キャッシュにあてたことにより、Bに割り当てていたBSS領域が消失したためプログラムが暴走していたのでした。ICEないとつらいね。
さて、問題です。どうしてBSSの割り当てが行われていないことに気づかなかったのでしょう。答えはエラーメッセージが出なかったからです。bfin-elf-ldは、割当先のメモリセグメントが無くても単に警告するだけでエラーを出しません。そして最終生成物であるELFを出力します。そのため、見落としていたのでした。
これでいいのか?!