Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Speaker Deck
PRO
Sign in
Sign up for free
emacs-18.59の会 / KOF2018-tokaidolug-LT
Izumi Tsutsui
November 10, 2018
Programming
1
520
emacs-18.59の会 / KOF2018-tokaidolug-LT
関西オープンフォーラム2018 2日目 東海道らぐ 大阪湾ライトニングトーク大会 in KOF2018 で飛び入り発表させていただいた LTスライドです
Izumi Tsutsui
November 10, 2018
Tweet
Share
More Decks by Izumi Tsutsui
See All by Izumi Tsutsui
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.2k
NetBSD/zaurus 8.1 を直したあと ブース展示デモ内容を作った話 / OSC2019Tokyo-Fall
tsutsui
0
380
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF2019-NetBSD
tsutsui
1
630
OSC京都 LUNA展示 9年目 / OSC2019Kyoto
tsutsui
0
370
NetBSDておくれLive Image UEFI対応 設計仕様検討メモ / NetBSD UEFI Live Image
tsutsui
0
280
NetBSD 8.0 と dmesg投稿のススメ / KOF2018-NetBSD
tsutsui
0
1.3k
mikutter メンテから見る pkgsrc システム紹介 / mikutter Nagoya 2018
tsutsui
0
250
The history of NetBSD/atari and support for ATARI compatible Milan / OSC2018Osaka
tsutsui
1
1.2k
NetBSDておくれLiveImage近況と NetBSD 8.0 の動向 / KOF2017
tsutsui
1
540
Other Decks in Programming
See All in Programming
Go1.19で採用された Pattern-defeating Quicksort の紹介
po3rin
7
1.7k
Google IO 2022 社内LT会 / What's new in Android development tools
shingo_kobayashi
1
430
設計の考え方とやり方
masuda220
PRO
56
32k
Efficient UI testing in Android
alexzhukovich
2
130
段階的な技術的負債の解消方法.pdf
ko2ic
2
960
How to start contributing to Kubernetes Projects
ydfu
0
150
Enzyme から React Native Testing Library に移行した経緯 / 2022-07-20
tamago3keran
1
160
10Xの検索を10xしたい
metalunk
3
470
SwiftUIで「意図」を伝える / swiftui_intention
uhooi
2
150
atama plusの開発チームはどのように「不確実性」に向き合ってきたか〜2022夏版〜
atamaplus
3
650
SGGとは
inoue2002
0
450
ECサイトの脆弱性診断をいい感じにやりたい/OWASPKansaiNight_LT1_220727
owaspkansai
0
310
Featured
See All Featured
Raft: Consensus for Rubyists
vanstee
127
5.5k
Infographics Made Easy
chrislema
233
17k
Art, The Web, and Tiny UX
lynnandtonic
280
18k
RailsConf & Balkan Ruby 2019: The Past, Present, and Future of Rails at GitHub
eileencodes
119
28k
The Power of CSS Pseudo Elements
geoffreycrofte
47
4k
Docker and Python
trallard
27
1.6k
Building Better People: How to give real-time feedback that sticks.
wjessup
344
17k
The Illustrated Children's Guide to Kubernetes
chrisshort
18
40k
Designing Experiences People Love
moore
130
22k
Documentation Writing (for coders)
carmenintech
48
2.6k
BBQ
matthewcrist
74
7.9k
Facilitating Awesome Meetings
lara
29
4.1k
Transcript
emacs-18.59 の会 関西オープンソース 2018 東海道らぐ LT Izumi Tsutsui tsutsui@NetBSD.org Twitter:
@tsutsuii Mastodon: @tsutsuii@social.mikutter.hachune.net
emacs 18.59 1992年 10月 リリース
なぜ emacs 18.59 なのか
KOF2015のスライドを参照 https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0
https://speakerdeck.com/tsutsui/kof2015-emacs-18-dot-59-and-mule-1-dot-1-on-netbsd-7-dot-0?slide=8
gentoo パッケージの存在 https://twitter.com/Chris_J_Baird/status/566596051042185216
https://packages.gentoo.org/packages/app-editors/emacs
gentooのパッケージを ベースに、NetBSDで 64ビットを含む 各アーキテクチャで 動くように修正
githubにあります https://github.com/tsutsui/emacs-18.59-netbsd
ついでに ubuntu debian ArchLinux (含む64ビット) でも動くように修正 Raspbian も最近対応
ビルド方法はブログとかに 書いてるので適当に 「emacs 18.59」 とかで検索 http://ch.nicovideo.jp/tsutsui/blomaga/ar1554908
emacs-18.59の会 活動内容
今時の環境で emacs-18.59を ビルドする (使うとは言っていない)
https://social.mikutter.hachune.net/@shibafu528/100113578982480505
https://social.mikutter.hachune.net/@shibafu528/100113584123075075
gentooで入れる のもありです
github issue も待ってます https://github.com/tsutsui/emacs-18.59-netbsd/issues/1
古いバイナリの ハマりポイント
昔のバイナリはポインタの扱いが かなり適当 ポインタにintぶち込んでたり 上位バイトに別の値入れてたり 64ビット対応も考えられてない emacs unexec 機構のハック
※LT発表時は undump と書いてましたが unexec (or dump) が正しい表記でした
起動時に大量のelispを読むと 起動に時間がかかる ビルド時に素のemacsを作ったあと 「elispを読み込んだ状態」で その時のメモリの内容を読み出して そのままバイナリとして書き戻す unexecとは
これが 最近の セキュリティ機構 と相性が悪い
https://social.mikutter.hachune.net/@shibafu528/100113462881160942
https://social.mikutter.hachune.net/@shibafu528/100113580412611324
https://ja.wikipedia.org/wiki/アドレス空間配置のランダム化 アドレス空間配置のランダム化(英語: address space layout randomization, ASLR)とは、重要なデータ領域 の位置(通常、プロセスのアドレス空間における実行 ファイルの基底とライブラリ、ヒープ、およびスタック の位置が含まれる)を無作為に配置するコンピュータセ
キュリティの技術である。
PIE (Position Independent Executable) とかもハマりがち
昨晩の しばふ氏の 会員活動
https://social.mikutter.hachune.net/@shibafu528/101041789930206039
https://social.mikutter.hachune.net/@shibafu528/101041961529897887
https://social.mikutter.hachune.net/@shibafu528/101041971794509433
手段(emacs 18.59)のためには 目的(ビルド・環境・使用)を 選ばない とにかくビルドできたら満足 動かなかったら直すorバグレポート emacs-18.59の会
まとめ
おわり