Link
Embed
Share
Beginning
This slide
Copy link URL
Copy link URL
Copy iframe embed code
Copy iframe embed code
Copy javascript embed code
Copy javascript embed code
Share
Tweet
Share
Tweet
Slide 1
Slide 1 text
emacs-18.59 の会 関西オープンソース 2018 東海道らぐ LT Izumi Tsutsui
[email protected]
Twitter: @tsutsuii Mastodon: @
[email protected]
Slide 2
Slide 2 text
emacs 18.59 1992年 10月 リリース
Slide 3
Slide 3 text
なぜ emacs 18.59 なのか
Slide 4
Slide 4 text
KOF2015のスライドを参照 https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0
Slide 5
Slide 5 text
https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0?slide=8
Slide 6
Slide 6 text
gentoo パッケージの存在 https://twitter.com/Chris_J_Baird/status/566596051042185216
Slide 7
Slide 7 text
https://packages.gentoo.org/packages/app-editors/emacs
Slide 8
Slide 8 text
gentooのパッケージを ベースに、NetBSDで 64ビットを含む 各アーキテクチャで 動くように修正
Slide 9
Slide 9 text
githubにあります https://github.com/tsutsui/emacs-18.59-netbsd
Slide 10
Slide 10 text
ついでに ubuntu debian ArchLinux (含む64ビット) でも動くように修正 Raspbian も最近対応
Slide 11
Slide 11 text
ビルド方法はブログとかに 書いてるので適当に 「emacs 18.59」 とかで検索 http://ch.nicovideo.jp/tsutsui/blomaga/ar1554908
Slide 12
Slide 12 text
emacs-18.59の会 活動内容
Slide 13
Slide 13 text
今時の環境で emacs-18.59を ビルドする (使うとは言っていない)
Slide 14
Slide 14 text
https://social.mikutter.hachune.net/@shibafu528/100113578982480505
Slide 15
Slide 15 text
https://social.mikutter.hachune.net/@shibafu528/100113584123075075
Slide 16
Slide 16 text
gentooで入れる のもありです
Slide 17
Slide 17 text
github issue も待ってます https://github.com/tsutsui/emacs-18.59-netbsd/issues/1
Slide 18
Slide 18 text
古いバイナリの ハマりポイント
Slide 19
Slide 19 text
昔のバイナリはポインタの扱いが かなり適当 ポインタにintぶち込んでたり 上位バイトに別の値入れてたり 64ビット対応も考えられてない emacs unexec 機構のハック ※LT発表時は undump と書いてましたが unexec (or dump) が正しい表記でした
Slide 20
Slide 20 text
起動時に大量のelispを読むと 起動に時間がかかる ビルド時に素のemacsを作ったあと 「elispを読み込んだ状態」で その時のメモリの内容を読み出して そのままバイナリとして書き戻す unexecとは
Slide 21
Slide 21 text
これが 最近の セキュリティ機構 と相性が悪い
Slide 22
Slide 22 text
https://social.mikutter.hachune.net/@shibafu528/100113462881160942
Slide 23
Slide 23 text
https://social.mikutter.hachune.net/@shibafu528/100113580412611324
Slide 24
Slide 24 text
https://ja.wikipedia.org/wiki/アドレス空間配置のランダム化 アドレス空間配置のランダム化(英語: address space layout randomization, ASLR)とは、重要なデータ領域 の位置(通常、プロセスのアドレス空間における実行 ファイルの基底とライブラリ、ヒープ、およびスタック の位置が含まれる)を無作為に配置するコンピュータセ キュリティの技術である。
Slide 25
Slide 25 text
PIE (Position Independent Executable) とかもハマりがち
Slide 26
Slide 26 text
昨晩の しばふ氏の 会員活動
Slide 27
Slide 27 text
https://social.mikutter.hachune.net/@shibafu528/101041789930206039
Slide 28
Slide 28 text
https://social.mikutter.hachune.net/@shibafu528/101041961529897887
Slide 29
Slide 29 text
https://social.mikutter.hachune.net/@shibafu528/101041971794509433
Slide 30
Slide 30 text
手段(emacs 18.59)のためには 目的(ビルド・環境・使用)を 選ばない とにかくビルドできたら満足 動かなかったら直すorバグレポート emacs-18.59の会 まとめ
Slide 31
Slide 31 text
おわり