[PHP-dev 1146] 32bit CPU で 64bit整数を扱う PHP5 パッチ

Yoshihiro Kawabe sowhat @ amnis.co.jp
2005年 6月 15日 (水) 19:52:24 JST


このMLには、初めて送らせて頂く、川辺と申します。

非常にマイナーな要求だと思うのですが、IA-32なCPU(依存してはいませんが
他の環境では試していないので)でPHP(zval)の整数を全部64bit にして扱って
しまうためのパッチを作りました。Zendエンジン及び一部の拡張モジュールの
Cソースに適用するものです。

かなり安直に実施したので、綺麗な実装ではありません。

このパッチは、ターゲット環境が 64bitな環境(AMD64やEM64T、IA-64)で、あ
る程度それに依存したPHPスクリプトを書いた場合でも 32bit 環境で試験が出
来るようにしたいと思って作成したものです。このため、特に 64bit 整数(単
純にlong longを使用)のための高速化の様な配慮はありません。
また、Zendエンジンの持つ多くの機能や様々な拡張モジュールの試験はしてい
ません。おそらく、一部の拡張モジュールは対応のための修正をしないときち
んと動かないと思います。

元々は、自前のライブラリのインターフェイスが64bit整数を想定しているも
のがいくつかあり、これらをPHPモジュールとして組み込んで使う際にシーム
レスに扱いたかったと言うだけのことですので、限定された必要な機能しか試
してません。

また、このパッチは、PHP5 5.0.3 の Debian パッケージ
  http://packages.dotdeb.org で配布されている非公式パッケージ
をベースソースとしているため、他の環境では正しく適用できない部分がある
と思います。
更に、Apache2+mpm-worker と組み合わせることを想定しているものです。
--
  Kawabe,Yoshihiro <sowhat @ amnis.co.jp>
  As the stars blink in the night sky, our married hearts are never splitted.
  Even if we will unclasp each other hands, until we retain that. by H.S.
-------------- next part --------------
テキスト形式以外の添付ファイルを保管しました...
ファイル名: php5-5.0.3-LL.patch.gz
型:         application/octet-stream
サイズ:     8753 バイト
説明:       無し
URL:        http://ns1.php.gr.jp/pipermail/php-dev/attachments/20050615/502967df/php5-5.0.3-LL.patch.obj


PHP-dev メーリングリストの案内