Releases: yunkya2/elf2x68k
Releases · yunkya2/elf2x68k
20240929
- x68k2elf.py でX68k libcなど一部のライブラリのELF形式への変換に失敗する不具合を修正しました。
- x68k2elf.py で変換元のオブジェクトファイルの拡張アラインメント情報が変換後のELF形式に反映されない問題を修正しました。
- _dos_bus_err() の関数プロトタイプ宣言がx68k/dos.hになかったのを修正しました。
- Human68k v3.x でのDOSコール番号の変更に関して、Humanのバージョン番号を参照してDOSコール番号を使い分ける処理が_dos_rename() でのみ行われていなかったのを修正しました。
※ macOS 版の更新は brew upgrade yunkya2/tap/elf2x68k
で行ってください。
20240716
- dirent.h のディレクトリ操作関連API (opendir(), readdir() 等) に対応しました。
- samples/ に置いていたサンプルコードを別リポジトリ elf2x68k-sample に分離しました。
- macOS向けのインストール手順を変更して、バイナリ配布の代わりにHomebrewのFormulaとして提供するようにしました。
brew install yunkya2/tap/elf2x68k
でインストールされます- ソースコードからのビルドを行うため数10分程度かかります
- macOS向けにリモートデバッグをサポートするためのスクリプト
m68k-xelf-gdb
,m68k-xelf-gdb-init
,m68k-xelf-gdb-kill
を追加しました。
20240629
- Apple Silicon macOS (14.5 Sonoma) 用のビルド済みバイナリを追加しました (elf2x68k-Darwin-*.tar.bz2)。
- macOS は開発元未確認のアプリの実行がデフォルトで禁止されているため、実行には spctlコマンドによる許可 が必要になるようです。設定はセキュリティ上のリスクがあることを確認の上行ってください。
- セキュリティが気になる方は、補足ドキュメント を参考にソースコードからビルドすることをお勧めします(M3 MacBook Airで30分程度かかります)。
- 以下のサンプルコードを追加しました。リリースバイナリには含まれていないので、利用する場合はソースコードを clone してください。
- defsptool - Human68k システムディスクのスプライトパターンエディタをBas2C変換してコンパイルする
- xsp - よっしん氏作の スプライト管理システム XSP のサンプルコードを elf2x68k でビルドする
- 使用するソースコードを以下の最新版に更新しました。
- binutils-2.42
- gcc-13.3.0
- newlib-4.4.0.20231231
- XC ライブラリのインストール処理を改善しました。
- LHa コマンドをビルドする代わりに unlha.py を使用するように変更しました。
- ライブラリ生成に ar コマンドを使っていたのを m68k-xelf-ar を使用するよう修正しました。
- MinGW 環境で UTF-8 の X-BASIC ソースコードから C への変換に失敗する不具合を修正しました。
20240616
- bas2c に関する以下の修正を取り込みました。
- 文字列型(str型)を返す関数を変換した際の関数プロトタイプが誤っていた不具合を修正しました。
- 変換後のプログラムで問題を起こす可能性のある「関数のstr型引数への代入」「str型を返す関数でローカル変数を返す」といった操作をエラーとして扱うようにしました。
- m68k-xelf-gcc コマンドの
-o
オプションで出力ファイル名を指定した際の、ELF ファイルと X 形式実行ファイルのファイル名決定ルールを変更しました。- 通常の、
-o
オプションで*.x
ファイルを指定する使い方には特に影響はありません。 -o
オプションを指定しなかった場合のデフォルトでは、ELF ファイルa.out
と X形式実行ファイルa.x
を生成します。
- 通常の、
20240616-gcc14
- 使用するソースコードをリリース時点での以下の最新版に更新しました。
- binutils-2.42
- gcc-14.1.0
- newlib-4.4.0.20231231
- gcc-14ではいくつかの新機能が取り込まれた一方で、エラー検出の強化によって従来の gcc でコンパイルできていたソースコードがエラーになる場合があります。また、同じソースコードでも gcc-13 での生成バイナリよりサイズが大きくなる傾向もあるため、従来の gcc-13 版のリリースと並行する形で gcc-14 版をリリースすることにしました。
- gcc-14 でのエラー対応については、GCC 14への対応について を参照してください。
- MinGW 版では、gcc の
-fanalyzer
で表示される Text Art 図が崩れる既知の不具合があります。
20240606
20240119
20240114 (20240115)
ABI が変更されたため、20231202 版以前の elf2x68k で生成したオブジェクトファイルやライブラリは、本バージョン以降の elf2x68k では利用できません。最新バージョンでの再コンパイルが必要になります
gdbserver-x68k の仕様も合わせて変更されました。elf2x68k の更新の際は合わせて最新版に更新してください
(20240115追記) 20240114リリースのLinux版で、スクリプトでダウンロードするXCのファイルを誤って入れたままアーカイブを作ってしまっていたため、削除したバージョン(20240115)に差し替えました。MINGW版の方は変更ありません
- binutils, gcc のバージョンをそれぞれ最新版に更新しました (binutils-2.41, gcc-13.2.0)
- elf2x68k.py の仕様を変更し、ELF実行ファイル内の再配置情報を使ってX形式ファイルを生成できるようにしました
- XC等で作られたオブジェクトファイルやライブラリをELF形式に変換するスクリプト x68k2elf.py を追加しました
- C Compiler PRO-68K v2.1 (XC) のライブラリを利用できるようにしました。無償公開されているファイルを取得してインストールするスクリプトを添付しています
- XCのライブラリを利用できるようにするため、ABIをXC互換のものに変更しました