昔の最近の出来事(2017.06)

2017/06/30

遅めに帰着。

gdc。DSOに関連するコードはファイル名ごとリライトされている為、 比較するのが難しいのですが、大丈夫バージョンの gcc/d/d-objfile.ccの中にlayout_moduleinfo()という関数があって、 このコードに以下のような切り替えコードが含まれています。

  /* Prefer _d_dso_registry model if available.  */
  if (dso_type != NULL && dso_func != NULL)
    {
      Symbol* sym = build_moduleinfo_symbol (m);
      emit_dso_registry_hooks (sym, dso_type, dso_func);
    }
  else if (mref != NULL)
    {
      Symbol* sym = build_moduleinfo_symbol (m);
      emit_modref_hooks (sym, mref);
    }

どうやらDSOが使えるようならばDSOで、そうでなければDSOじゃない コードを生成する予感がしたり。
で、大丈夫じゃない方のコードを眺めてみるのですが、 gcc/d/modules.ccの中にlayout_moduleinfo()という同名の関数が あるのですが、切り替えができる感じじゃなくなっているような気が。うーむ。

2017/06/29

遅めに帰着。

gdc。gcc-7ブランチでもmasterブランチと同じく _d_dso_registry()が リンクできなくて実行ファイルが生成できなくなってたり。さてどうしたもんか。

2017/06/28

遅めに帰着。

gdcのgcc-7ブランチが更新されていたのでビルドしてみる事に。 終わらず。

2017/06/27

日付け越え前に帰着。

NAS-HDDのファームアップが来てたので入れたり。 入れ替えると色々とサービスがOFFになるようで、DLNAサーバー サービスをONにし直したり色々。

2017/06/26

遅めに帰着。

MinGW gdc。_d_dso_registry()を出さないようにコンパイラを 少し弄ってみたのですが、一部だけ出さないようにするのでは ダメな気が。逆に何もしない_d_dso_registry()を libdruntime/rt/sections_elf_shared.dの方に追加してみたのですが、 何もしないのはダメでした。

2017/06/25

AM中に起床。

洗濯したり掃除したり、ぐうたら過ごしたり。

鉄拳7。オンラインのランキングボードを見てみると、最上位段はまだ白虎 の模様。鉄拳神が登場するのはまだ先かな?という感じ。 ところで、自分のランクを表示しようとしても通信エラーで出てきません でした。どうやら50,000人を上限として表示が切られているようです。 ワールドワイドの表示のようですが、数百万人居たとしてもその周辺の 順位を取得するだけなら大した負荷でもない気がするので、表示して くれれば良いのにと思ったりも。

新しいMinGWターゲットのgdcでリンクに失敗する件を少しだけ調べたり。 前の通り、_d_dso_registry() という関数が 見つからないというものなのですが、この関数の実体は libdruntime/rt/sections_elf_shared.dの中にあります。しかしながら MinGWターゲットだと実行ファイルも共有オブジェクトもELFではありません ので、sections_elf_shared.dではversion()文により中身はほぼ何も 無くなり、関数 _d_dso_registry() もその実態は存在しません。 なので、_d_dso_registry()関数そのものを期待するのが間違っている と考えられます。
もしや -static を付けないとダメになったのか?と思い試してみるも 関係無し。以下のような感じでtree-originalを見てみると、最後の方に 以下のようなコードが吐かれていたり。

$ cat hello.d
import std.stdio;
import std.string;

void main()
{
  writef("Hello D world\n") ;
}

$ i686-w64-mingw32-gdc -static -fdump-tree-original hello.d
/tmp/ccxQafdS.o:hello.d:(.text$gdc.dso_ctor[_gdc.dso_ctor]+0x5d): `_d_dso_registry' に対する定義されていない参照です
/tmp/ccxQafdS.o:hello.d:(.text$gdc.dso_dtor[_gdc.dso_dtor]+0x5a): `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(bitmanip.o):  関数 `gdc.dso_ctor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/src/std/conv.d:114: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(bitmanip.o):  関数 `gdc.dso_dtor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/src/std/conv.d:114: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(conv.o): 関数 `gdc.dso_ctor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/build_i686-w64-mingw32/i686-w64-mingw32/libphobos/src/../../../../gcc-8-20170604/libphobos/src/std/conv.d:388: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(conv.o):/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/build_i686-w64-mingw32/i686-w64-mingw32/libphobos/src/../../../../gcc-8-20170604/libphobos/src/std/conv.d:388: `_d_dso_registry' に対する定義されていない参照がさらに続いています
collect2: error: ld returned 1 exit status

$ tail -23 hello.d.003t.original
gdc.dso_dtor ()
{
  struct  D.6078;

  if (gdc.dso_initialized != 0)
    {
      gdc.dso_initialized = 0;, D.6078 = {.D.6066=1, .D.6067=&gdc.dso_slot, .D.6068=&__start_minfo, .D.6069=&__stop_minfo, .D.6079={}};;, _d_dso_registry (&D.6078);;
    }
}


_GLOBAL__I_main ()
{
  gdc.dso_ctor ();
}


_GLOBAL__D_main ()
{
  gdc.dso_dtor ();
}

$ i686-w64-mingw32-gdc -v
Using built-in specs.
COLLECT_GCC=i686-w64-mingw32-gdc
COLLECT_LTO_WRAPPER=/usr/local/gdc_2072_800_mingwcross/libexec/gcc/i686-w64-mingw32/8.0.0/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: ../gcc-8-20170604/configure --with-pkgversion='gdc-8 7383b05e64(DMD2.072)' --build=i686-pc-cygwin --host=i686-pc-cygwin --target=i686-w64-mingw32 --enable-languages=c,c++,d --prefix=/usr/local/gdc_2072_800_mingwcross --with-sysroot=/usr/i686-w64-mingw32/sys-root --enable-__cxa_atexit --disable-libmudflap --disable-libgomp --disable-libssp --disable-libquadmath --disable-libquadmath-support --disable-libsanitizer --enable-threads=win32 --disable-win32-registry --enable-target-optspace --disable-nls --disable-bootstrap --disable-shared --disable-multilib --enable-long-long --enable-sjlj-exceptions
Thread model: win32
gcc version 8.0.0 20170604 (experimental) (gdc-8 7383b05e64(DMD2.072))

因みに、DSOはDのSharedObjectの事みたい。で、何かしら_d_dso_registry()が 存在する事を期待したコードが生成されているようです。 gcc-7.1.0対応された直後のバージョンでは_d_dso_registry()を期待したコードは 生成されてませんので、生成される条件がどこかに加わったという感じなのかな? と推測したりも。

2017/06/24

起きたら夕方。寝過ぎ。

鉄拳7。やっぱり勝てなさ過ぎて辛い。
鉄拳7で新規参戦したキャラクターはどれもパンチやキックの速射が 可能なようで、リリから見るとどれもズルい感じがしてなりません。 あと、寝てる状態に対して さらに浮かせて空中コンボに持ち込める キャラもなんかズルい感じがします。

2017/06/23

日付け越え前に帰着。

D言語、GCCに追加の見通し」 え!?マジでか!! (gccのMailingListはこちら)

鉄拳7。勝てなさ過ぎて辛い。

2017/06/22

遅めに帰着。

調べ事をして終了。

2017/06/21

遅めに帰着。

あまりの眠さに急速停止。

2017/06/20

早めに帰着。

鉄拳7。さっぱり勝てず。

2017/06/19

気持遅めに帰着。

鉄拳7。負け勝ち負けで3割。

2017/06/18

AM中に起床。

鉄拳7。びっくりするくらい勝てず。

掃除したり洗濯したり。

そういや鉄拳7でアクセサリの武器を使っている人が居て、これって使えるんだ? と思って調べたり。アクセサリ選択すると技として使える場合や 特殊効果の場合の説明が載ってたり。でも、発動までに時間がかかるのと、 ダメージもあまり大きくは無さそうなので実戦で使用する事は無さげ。

2017/06/17

AM中に起床。

Windows10のアップデート後も微妙に追加更新がある為か、 立ち上げっぱなしのままほっといたらいつの間にか再起動されてたり。 ついでにCygwinパッケージとか色々アップデート。もう無いか?

そういやCC2の方には来てないなぁ?何を契機にいつ来るのかよく 判らないですが。

そういや去年のWindows10 Anniversary Updateで、Windows Inkって 機能が追加されましたが、今回のCreators Updateでメニューに ちょろっと出てくるまで存在自体を忘れてました。これ、使って る人居るのだろうか?と思ったので、Googleで「Windows Ink」を検索 文字列にして画像検索してみたのですが、あんまパッとする ような使い方の例は無いように思ったりも。手書きは 誰でも「それなりに」使えるという点で敷居は低いと思いますが、 各自の描画スキルによる所が大きいので、字が上手くない人や 絵が得意でない人は 手書きの利点を感じにくいようにも思います。 個人的には、現時点のテクノロジーでは内容の検索が困難なのが、 便利に使える感じのしない原因の一つにあると思います。
因みに、スケッチパッド自体はベクターグラフィックスのツール みたいですが、セーブはPNGでしか行えないようです。本当に 書き捨て限定用途だと、他への活用も思い点かないので あんま使い手が無いという気もします。

MicrosoftのAIが「ミズ・パックマン」で全面クリア」。 そういやマンガの「ヤコとポコ」で完璧モードはゲーセンに入れない というのを思い出した。

鉄拳7。勝率3割のまま、負けたり勝ったり負けたり。

なんかフォントのレンダリングの様子が変わったような? と思ったのですが、そういや前のWin10でClearTypeの調節をしたような? と思い出して、メニューを探したり。メニューから探せなかったので、 cleartypeという文字列で設定の検索を行うと出てきたり。 調節はしてみたものの、やっぱり以前と様子が違う気が。

170618 Emacsスクリーンショット

去年の12/23時点のが以下

161223 Emacsスクリーンショット

縮小したフォントのかすれ感が増したようにも。

2017/06/16

遅めに帰着。

GDCのビルド。とりあえずビルドできたのでmake installして使ってみた ものの、リンクに失敗するようなバイナリになってたり。

$ i686-w64-mingw32-gdc iam.d
/tmp/ccJT6Otq.o:iam.d:(.text$gdc.dso_ctor[_gdc.dso_ctor]+0x5d): `_d_dso_registry' に対する定義されていない参照です
/tmp/ccJT6Otq.o:iam.d:(.text$gdc.dso_dtor[_gdc.dso_dtor]+0x5a): `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(bitmanip.o): 関 数 `gdc.dso_ctor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/src/std/conv.d:114: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(bitmanip.o): 関 数 `gdc.dso_dtor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/src/std/conv.d:114: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(compiler.o): 関 数 `gdc.dso_ctor' 内:
/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/libdruntime/object.d:366: `_d_dso_registry' に対する定義されていない参照です
/usr/local/gdc_2072_800_mingwcross/lib/gcc/i686-w64-mingw32/8.0.0/../../../../i686-w64-mingw32/lib/../lib/libgphobos.a(compiler.o):/home/TANE/develop/dlang/gcc/gdc_2071_710/GDC-7383b05e64fd381e1b3f1403390b37bc4db0308c/gcc-8-20170604/libphobos/libdruntime/object.d:366: `_d_dso_registry' に対する定義されていない参照がさらに続いています
collect2: error: ld returned 1 exit status

d_dso_registryでコンパイラのソースをgrepしてみると、 ファイルの名前が変わるような変更が入ってて、ここ1ヵ月の アップデートで壊れている気がしたりも。
いくつか直ってそうな案件がありそうという事で試してみたのですが、 うまくいかないです。

Windows10のCreators Updateが来たので入れる事に。 でも待ってられないのでその間に鉄拳7。勝ったり負けたり。

Win10のアップデート。いつもの様にCapsとCtrl、ESCと半角全角の キー交換を以前のメモを元に 行ったり、IMEの邪魔臭い表示をOFFにしたり。IEに微妙に変更が加わってて Edgeを開くボタンが付いていたり。それよりもプルダウンメニューの 開く方向が前にも増して謎な挙動のように感じたりも。 それ以外の目新しさは特に無いような気も。

2017/06/15

遅めに帰着。

GDCのビルド。一部パッチを外してビルドしてみたのですが、 ビルド時の不具合は直ってなさそうだったので、パッチ全部入りで 再ビルド。

眠くて死亡。

2017/06/14

早めに帰着。

GDCの新しいのをビルドしてみる事に。ただ、masterブランチは開発版の gcc-8じゃなくてはダメだったのでそれでビルド。

ほっぽらかしている間にあまりの眠さに急速停止。

2017/06/13

遅めに帰着。

鉄拳7。イマイチ。

2017/06/12

遅めに帰着。

鉄拳7。ちっとも勝てない。そういや時々なんかズルい技を使う 人がいるように感じるのは気のせいか?

2017/06/11

AM中に起床。

掃除したり洗濯したり。

そういや美人時計のサーキット時計は公式でも無くなった模様。 他と違って全身を写す為に極端に引いたアングルが無かった為、 小さく表示しても時刻が見易かったのですが残念。

鉄拳7。オンラインのランクマッチで勝ったり負けたり。 勝率33% なので、まぁ今までのシリーズ通り。 如何せん、入門生~初段は強い人もそうでない人も通る道 なので、肩書きだけでは強弱は判りません。恐らくもう少しすると 新規にオンライン参入してくるユーザーが減り、リピーターユーザーが 占めてくるので、徐々に肩書き通りのレベルに人口分布が落ち着いて くるものと思われます。鉄拳5DRの時は 一時 勝った時のポイントが少し 増えるみたいなイベントがあったのですが、そういうのがあると 肩書き格差が広がる感じになって、訳が判らなくなったりするような気も。
そういや毎度思うのですが、強い人同士の対戦を観戦する方法って無いのかなぁ? と思ったりも。あるレベル同士のリプレイデータをダウンロードする方法で 良いので見る事ができればなぁ?と思います。

先日、WipEout Omega Collectionって 日本に来ないのか?と思っていたのですが、ちゃんと来てました。 そんな感じだったので思わずポチってみたり。ちょっとだけ やったのですが、もうスピードについていけそうな感じがしない(^^;

2017/06/10

AM中に起床。

鉄拳7。オンライン対戦をやるも、やっぱりちっとも勝てやしない。 どうにかトーナメント戦で1勝して最後のトロフィー&プラチナ取得。

いつもの事なのですが、対人だとちっとも勝てません。間合いが 合わないと、ずっと相手の攻撃が当たり続ける感じになるのは 何故なんだろう?と思ったりも。逆にこちらの間合いがハマると、 相手も全然返せない感じになったり。目に見えにくいラグの せいなのかしら?とも。

2017/06/09

遅めに帰着。

鉄拳7。オンラインの対戦を何度かやってみるもちっとも勝てやしない。

2017/06/08

遅めに帰着。

gdcのアップデートが入っているようですが、 文字列終端のバグが 直ってそうな予感。

鉄拳7のアップデートが来てたり。オンラインマッチが普通に繋がる 感じになってました。XboxOneやPC版(Steam版)ではマッチングの不具合は無いような 情報もあったのですが、「オンラインのマッチング改善」という 項目にPS4とXboxOneが該当してる模様。PC版(Steam版)もマッチングの 改善予定はある模様。うーむ?

2017/06/07

遅めに帰着。

鉄拳7。トレジャーバトルをやってるのですが、徐々に勝てなくなってきてる気が。

2017/06/06

遅めに帰着。

あれ?WipEout Omega Collectionって日本には来ないのか。

眠くて死亡。

2017/06/05

遅めに帰着。

鉄拳7のオンラインマッチが成立しづらい件について、公式サイト でコメントが挙がってたり。RANKED MATCHで相手を見て 拒否する可能性があるという話もあるようですが (RANKED MATCHにて相手の使用キャラを非表示にする仕様変更 予定を挙げている理由の一つ) 恐らくそれは原因では無いように思います。
まず、TANEはクイックマッチでも対戦成立した事がありません。 加えて対戦部屋に入る事ができても、順番が回ってきたにも関わらず 刺さって先に進めない現象に遭遇しています。 テキストチャットはできたので、先に進まない旨を書き込んだら、 対戦相手となる人からも進まない旨の回答をもらったので、 対戦拒否により発生する事象では無いと断定できると思います。
そもそも何より対戦が成立しないせいか、ほぼ全員が入門生な もんですから強さは全く判りません。相手の使用キャラだけを 見て対戦を拒否る可能性なんてほぼ無いのではないかと想像します。

2017/06/04

AM中に起床。

鉄拳7。その後、オンラインマッチを何度か試みてみましたが、 一度も対戦成立する事無く。 アイテム取得も兼ねてトレジャーバトルでコンボの練習したり。

対戦部屋だとイケる場合があったり。で、挑んでみる訳ですが 相手が強すぎて勝負にならず(T_T)

それにしてもPS3の鉄拳5DRの時は、ONLINE版発売直後は少しゴタゴタ したらしいですが、TANEがやってる時は全く不具合はありませんでした。 PS3の鉄拳6も初期の比にラグが酷いとかあったようですが (TANEは体感できず)、対戦できないってのは流石にありませんでした。 今更こんな所でしくじるか?というのが正直な感想。

2017/06/03

AM中に起床。

鉄拳7。ストーリーモードのThe Mishima Sagaをやったり。 普段使わないキャラばかりでやらされるのは苦痛。 こういう話なんでしたっけ?そんな感じ。
で、オンラインを少し覗いてみたのですが、ちっとも対戦が 成立しない。なんで?と思いWeb検索してみると同様の 症状が多数報告されている模様。で、対戦部屋(セッション)だと イケるだろうと思いいくつか立っていた部屋の一つに入ってみたり。 ひとまず入れて、順番が回ってきたにも関わらず 決定ができず。数十秒のちに順番がスキップされたり。 なんか無駄に待たせて迷惑かけてしまった気が。

その後、結局一度もマッチングできず。これはバグってるものと 思われます。そんな訳でトレジャーバトルでボチボチと練習したり ギャラリーで歴代鉄拳のオープニングムービーを観たり。

今の画像解像度から言うと鉄拳1の頃のムービーは、ほぼ細かい所が 見えない感じなのですが、それでも当時はスゲーCGだと感じられてた んだよなーと思ったり。20年以上経ってからデジタル動画に対して 思うのは、劣化は無いものの解像度も記録当時のままになるという 点がイマイチだなぁ?と思います。例えば鉄拳1と同時期の 30mmフィルムで記録されたアニメ映画は今の解像度にリマスター しても画質は荒いし埃とか入ってはいますが、解像度が低いとは 感じません。むしろ当時のVGA解像度では見る事ができなかった ものがHD以上の解像度で見られるようになったという感じだと 思います。でも、デジタルでVGA以下の解像度で記録されていたら、 時間が経ってもそれ以上も以下も無いという感じです。 もし、鉄拳1のムービーのモーションデータやモデルが残っていれば、 再レンダリングする事はできるだろうと思います。 でも、そういうのってあまり聞いた事が無いかも。 むしろ各自の思い出フィルターを通して観るのが正しい観賞方法なのかも 知れません。

2017/06/02

遅めに帰着。

美人時計の画像URLが変わってて表示できなくなってたり。 幸いベースURLが変わっただけの模様。ただ、個人的に常用していた サーキット時計は画像がまだ用意されていないっぽい。 なので、Webサイトでも表示できてないようです。

2017/06/01

遅めに帰着。

SAI2の新しいのが来ていたり。お疲れ様です。

鉄拳7。ちょっとだけのつもりが大分やった気が。


TOP PREV