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
910
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
NetBSDの解説と NetBSD/luna68kの歴史と ついでにPC-6001展示 / OSC2025Tokyo-spring
tsutsui
0
57
GitHub Actionsを使ってNetBSDマイナー機種用のビルドテストCIを書いてみた話 / OSC2025Osaka
tsutsui
0
53
PC-6001のPSG演奏デモを機会にNetBSDを真面目に説明してみる / OSC2024Ehime
tsutsui
0
240
PC-6001のPSG演奏デモをなるべくNetBSD環境を使って作った話 / KOF2024
tsutsui
1
370
OSC展示とLUNAとNetBSD / OSC2024Kyoto
tsutsui
1
520
digital VAX, NetBSD/vaxの歴史と VAXstation 3100/m30 展示 / OSC2024Osaka
tsutsui
0
1.1k
SONY NEWS NetBSD移植作業とNWS-3260展示 / KOF2023
tsutsui
0
1.4k
37年前の Sun 3/60 のために最新のNetBSDと最新のX.orgをメンテする話 / KOF2022
tsutsui
1
520
お歳暮で Sun3 が送られてきたので NetBSD/sun3 を展示デモしました / OSC2020Osaka
tsutsui
5
2.8k
Other Decks in Programming
See All in Programming
お前もAI鬼にならないか?👹Bolt & Cursor & Supabase & Vercelで人間をやめるぞ、ジョジョー!👺
taishiyade
7
4.2k
「個人開発マネタイズ大全」が教えてくれたこと
bani24884
1
200
Bedrock Agentsレスポンス解析によるAgentのOps
licux
3
920
dbt Pythonモデルで実現するSnowflake活用術
trsnium
0
260
Generating OpenAPI schema from serializers throughout the Rails stack - Kyobashi.rb #5
envek
1
390
責務と認知負荷を整える! 抽象レベルを意識した関心の分離
yahiru
8
1.3k
コードを読んで理解するko build
bells17
1
110
Datadog Workflow Automation で圧倒的価値提供
showwin
1
170
DRFを少しずつ オニオンアーキテクチャに寄せていく DjangoCongress JP 2025
nealle
2
270
もう僕は OpenAPI を書きたくない
sgash708
6
1.9k
データベースのオペレーターであるCloudNativePGがStatefulSetを使わない理由に迫る
nnaka2992
0
230
Djangoアプリケーション 運用のリアル 〜問題発生から可視化、最適化への道〜 #pyconshizu
kashewnuts
1
260
Featured
See All Featured
Code Review Best Practice
trishagee
67
18k
Learning to Love Humans: Emotional Interface Design
aarron
273
40k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
30
2.2k
Design and Strategy: How to Deal with People Who Don’t "Get" Design
morganepeng
129
19k
The Straight Up "How To Draw Better" Workshop
denniskardys
232
140k
Keith and Marios Guide to Fast Websites
keithpitt
411
22k
Fontdeck: Realign not Redesign
paulrobertlloyd
83
5.4k
Exploring the Power of Turbo Streams & Action Cable | RailsConf2023
kevinliebholz
30
4.6k
Fantastic passwords and where to find them - at NoRuKo
philnash
51
3k
How GitHub (no longer) Works
holman
314
140k
Mobile First: as difficult as doing things right
swwweet
223
9.4k
What’s in a name? Adding method to the madness
productmarketing
PRO
22
3.3k
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の会
まとめ
おわり