Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
emacs-18.59の会 / KOF2018-tokaidolug-LT
Search
Izumi Tsutsui
November 10, 2018
Programming
1
820
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
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
360
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.1k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
410
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.7k
NetBSD/zaurus 8.1 を直したあと ブース展示デモ内容を作った話 / OSC2019Tokyo-Fall
tsutsui
0
630
NetBSD/zaurus 8.1 をテストしたら動かなかったので動くまで直した話 / KOF2019-NetBSD
tsutsui
1
1.1k
OSC京都 LUNA展示 9年目 / OSC2019Kyoto
tsutsui
0
590
NetBSDておくれLive Image UEFI対応 設計仕様検討メモ / NetBSD UEFI Live Image
tsutsui
0
410
NetBSD 8.0 と dmesg投稿のススメ / KOF2018-NetBSD
tsutsui
0
1.8k
Other Decks in Programming
See All in Programming
Rustのweb開発を助ける 便利なツール紹介
yuki0418
1
190
Prompt FlowによるLLMアプリケーション開発
yuto2000
1
1k
Product Management LT会_クアンド新家
shinshin
0
260
ぼっちを避けて楽しむためのアノテコノテ / Various Tips and Tricks to Avoid Loneliness and Have Fun
nrslib
3
1.7k
継続的な活動で築く地方エンジニアの道
myamashii
2
360
HMSコンペ 11th Solution (team : kansai-kaggler)
t88
1
680
Terraformテスト入門
msato
0
540
CSC307 Lecture 13
javiergs
PRO
0
150
Introduction of Happy Eyeballs Version 2 (RFC8305) to the Socket library
coe401_
1
220
I/O Extended Android in Korea 2024 ~ Whats new in Android development tools
pluu
0
250
CSC307 Lecture 08
javiergs
PRO
0
330
DDDを志して3年経ったら「DDDの皮を被ったクリーンアーキテクチャ」になった話【デブサミ2024夏】
texmeijin
1
620
Featured
See All Featured
Designing the Hi-DPI Web
ddemaree
276
34k
Building an army of robots
kneath
301
42k
XXLCSS - How to scale CSS and keep your sanity
sugarenia
245
1.2M
How GitHub Uses GitHub to Build GitHub
holman
471
290k
[Rails World 2023 - Day 1 Closing Keynote] - The Magic of Rails
eileencodes
17
1.5k
Optimising Largest Contentful Paint
csswizardry
18
2.6k
The World Runs on Bad Software
bkeepers
PRO
63
11k
GraphQLとの向き合い方2022年版
quramy
36
13k
Producing Creativity
orderedlist
PRO
340
39k
ReactJS: Keep Simple. Everything can be a component!
pedronauck
662
120k
How STYLIGHT went responsive
nonsquared
93
5k
Designing with Data
zakiwarfel
96
5k
Transcript
emacs-18.59 の会 関西オープンソース 2018 東海道らぐ LT Izumi Tsutsui
[email protected]
Twitter:
@tsutsuii Mastodon: @
[email protected]
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の会
まとめ
おわり