Upgrade to Pro — share decks privately, control downloads, hide ads and more …

emacs-18.59の会 / KOF2018-tokaidolug-LT

emacs-18.59の会 / KOF2018-tokaidolug-LT

関西オープンフォーラム2018 2日目 東海道らぐ 大阪湾ライトニングトーク大会 in KOF2018 で飛び入り発表させていただいた LTスライドです

7fe50ce1ac047336d7804e47aec56391?s=128

Izumi Tsutsui

November 10, 2018
Tweet

Transcript

  1. emacs-18.59 の会 関西オープンソース 2018 東海道らぐ LT Izumi Tsutsui tsutsui@NetBSD.org Twitter:

    @tsutsuii Mastodon: @tsutsuii@social.mikutter.hachune.net
  2. emacs 18.59 1992年 10月 リリース

  3. なぜ emacs 18.59 なのか

  4. KOF2015のスライドを参照 https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0

  5. https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0?slide=8

  6. gentoo パッケージの存在 https://twitter.com/Chris_J_Baird/status/566596051042185216

  7. https://packages.gentoo.org/packages/app-editors/emacs

  8. gentooのパッケージを ベースに、NetBSDで 64ビットを含む 各アーキテクチャで 動くように修正

  9. githubにあります https://github.com/tsutsui/emacs-18.59-netbsd

  10. ついでに ubuntu debian ArchLinux (含む64ビット) でも動くように修正 Raspbian も最近対応

  11. ビルド方法はブログとかに 書いてるので適当に 「emacs 18.59」 とかで検索 http://ch.nicovideo.jp/tsutsui/blomaga/ar1554908

  12. emacs-18.59の会 活動内容

  13. 今時の環境で emacs-18.59を ビルドする (使うとは言っていない)

  14. https://social.mikutter.hachune.net/@shibafu528/100113578982480505

  15. https://social.mikutter.hachune.net/@shibafu528/100113584123075075

  16. gentooで入れる のもありです

  17. github issue も待ってます https://github.com/tsutsui/emacs-18.59-netbsd/issues/1

  18. 古いバイナリの ハマりポイント

  19. 昔のバイナリはポインタの扱いが  かなり適当 ポインタにintぶち込んでたり 上位バイトに別の値入れてたり  64ビット対応も考えられてない  emacs unexec 機構のハック

    ※LT発表時は undump と書いてましたが unexec (or dump) が正しい表記でした
  20.  起動時に大量のelispを読むと 起動に時間がかかる  ビルド時に素のemacsを作ったあと 「elispを読み込んだ状態」で その時のメモリの内容を読み出して そのままバイナリとして書き戻す unexecとは

  21. これが 最近の セキュリティ機構 と相性が悪い

  22. https://social.mikutter.hachune.net/@shibafu528/100113462881160942

  23. https://social.mikutter.hachune.net/@shibafu528/100113580412611324

  24. https://ja.wikipedia.org/wiki/アドレス空間配置のランダム化 アドレス空間配置のランダム化(英語: address space layout randomization, ASLR)とは、重要なデータ領域 の位置(通常、プロセスのアドレス空間における実行 ファイルの基底とライブラリ、ヒープ、およびスタック の位置が含まれる)を無作為に配置するコンピュータセ

    キュリティの技術である。
  25. PIE (Position Independent Executable) とかもハマりがち

  26. 昨晩の しばふ氏の 会員活動

  27. https://social.mikutter.hachune.net/@shibafu528/101041789930206039

  28. https://social.mikutter.hachune.net/@shibafu528/101041961529897887

  29. https://social.mikutter.hachune.net/@shibafu528/101041971794509433

  30.  手段(emacs 18.59)のためには 目的(ビルド・環境・使用)を 選ばない  とにかくビルドできたら満足  動かなかったら直すorバグレポート emacs-18.59の会

    まとめ
  31. おわり