[過去ログ] 今夜も Wine で乾杯! - 23本目 (1002レス)
上下前次1-新
抽出解除 レス栞
このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
リロード規制です。10分ほどで解除するので、他のブラウザへ避難してください。
681(1): 2022/04/20(水)03:25 ID:s2MtO61K(2/2) AAS
>>678
外部リンク[h]:source.winehq.org
を見る限り、MacとAndroidの場合に16bit用のLDT関連がobsoleteになるっぽい
確かにMacは今や32bit互換モードも含めてobsoleteだし、Androidはセキュリティのためseccompで多くの不要なシステムコールを禁止している
あと、外部リンク[c]:source.winehq.org
の144行とかにfar jmpがあるから、ここでモード移行かな
これはWindowsのHeaven's Gateと同じ方式
不要になるのは32bitのlinuxのライブラリ(/usr/libとか/usr/lib32にある.so)であって、Wineの32bitライブラリ(syswow64にあるやつ)は必要
682: 2022/04/20(水)11:44 ID:+KfR7A8M(1) AAS
>>681
>>679は根本的な部分で勘違いしていた
Wineは5.0辺りからずっとリファクタリングを進めていて、wineserver等のELFなLinux側とkernel32.dllや
user32.dll等のPEなWindows側に完全に分離する作業が行われている
modify_ldtとかi386_set_ldtはLinuxやBSDの機能で、Linux側のwineserverでmodify_ldtを使うのは
いいんだけど、wow64cpu.dllはWindows側だからmodify_ldtを使ってはいけない
だから最初からdlls以下のwow64関連コードにmodify_ldtが存在するはずがない
x86_64 Linuxには32bitユーザーモードコードを動かすためのセグメントディスクリプタがGDTにあって
それを使って32bitコードを動かしているんだから、wow64cpuの側ではfar jmpでセグメント切り替え
ジャンプをすることで64bit<->32bitの切り替えを行うことができる、ということでいいのかな
上下前次1-新書関写板覧索設栞歴
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル
ぬこの手 ぬこTOP 0.057s