glibc-2.4 リリース 35
ストーリー by yoosee
新生GNU/Linux 部門より
新生GNU/Linux 部門より
daisuke曰く、"フリーソフトウエアの正に基本となるライブラリ GNU C library の最新版である GNU libc 2.4 がリリースされた。このリリースは GNU libc 2.4 系列として最初のものである。変更の詳細については NEWS などを読むこと。
README によれば、Linux では NPTL (Native POSIX Threading Library) 実装の都合上 Linux カーネル 2.6.0 以上が必要とされており、それ以前のカーネルでは使用を推奨されない。また、アーキテクチャによっては比較的新しいカーネルバージョンが要求され、基本的には最新版カーネルを使うことが推奨されている。
カーネル 2.4.x については今後 GNU libc 2.3.7 がリリースされる予定であり、そちらを使うことが推奨されている。"
変った物 (スコア:5, 参考になる)
*overflowを探知する関数が増えた。
*もっと多くのエンコーディングに iconvが対応した。
*検査ようのライブラリ?のダイナミックロードができる。 LD_AUDIT?
*Threads が NPTLを使う。
*open_wmemstream が増えた。open_memstreamの wchar_t 版。
*ppollが増えた。pollの改善版, pselect に似ているらしい。
*インターフェースが変った。
fdopendir, openat, fstatat, fchmodat, fchownat,
futimesat, faccessat, mkdirat, mkfifoat, mknodat,
renameat, unlinkat, linkat, symlinkat, readlinkat.
*Linux のシステムコールが増えた。: unshare,
inotify_init, inotify_add_watch, inotify_rm_watch.
* The euidaccess function is now also known by the alias eaccess,
for compatibility with some other systems.
よくわからん。
*タイムゾーンのデータが 2006b に。
Re:変った物 (スコア:5, 参考になる)
LD_AUDITを使ったダイナミックロードの監査ライブラリが使えるようになったよ.
Ulrich Drepperが作ってくれたんだ.
Linux2.4カーネルでptheradsを提供していたLinuxThreadsはもうサポートしないよ.
Linux2.6カーネルではNPTLを実装しないといけないんだ.
Linux2.4で動くlibcとlibpthreadのためには,stable 2.3ブランチを使ってくださいな.
Re:変った物 (スコア:1)
NPTLを実装するには、Linux2.6カーネルが必要なんだよぉ.
でした。
ごめんなさい。
Re:変った物 (スコア:0)
Re:変った物 (スコア:2, 参考になる)
LD_PRELOADを使うとプログラムが使う関数を置換できるので、やろうと思えば何でもできますが、LD_PRELOADでロードされるライブラリ側の実装は、置換しようとしているオリジナル関数の挙動を完全に把握していないとできません。また、非常に多くの関数を置換しようとすると実装が非常に大変です。
一方(Solarisで)LD_AUDITを使う場合は、プログラムがどんなライブラリをロードするか、どんな関数を呼ぶかなどを全く知らなくてもOKです。(逆にそれを把握するために、ロギングするだけのauditライブラリを作ることもできます。しかも簡単な実装なら数行で済みます。) 無論関数の戻り値や引数を変更するなら、オリジナルの挙動を知っておく必要がありますが。
Re:変った物 (スコア:1, 興味深い)
これ、でかいぞ。
Re:変った物 (スコア:0)
Threadsって何のことでしょう?
Re:変った物 (スコア:0)
Re:変った物 (スコア:0)
LinuxThreadsが無くなったからNPTLを使えっていうのなら意味分かるけど。
Re:変った物 (スコア:1, 参考になる)
Re:変った物 (スコア:3, 参考になる)
Re:変った物 (スコア:1)
…libpthreadに見せかけるWrapper作らないとまずい事が多発しそう(;´Д`)
# 逆に旧いLinuxThreadからNTPLをエミュレーションする
# ライブラリがあると助かる人がたくさんいるかも
# …ディストリビューションにLinux 2.6系から先への移行を要求しているので…
Re:変った物 (スコア:1, 参考になる)
逆だってば。
Re:変った物 (スコア:3, 参考になる)
linuxthreads の変な癖に合わせたコードを書いていない限り、pthread API を使うプログラムならソースからリコンパイルすれば普通に NTPL 対応になる筈です。
Re:変った物 (スコア:2, 参考になる)
automakeでなくても、
grep LinuxThread /usr/include/pthread.h
みたいなことをconfigure中でチェックしてるのがあったような。(mysqlだったかなぁ)
おかげでnptl使っているとそのままじゃコンパイルできないものがありました。
> # 逆に旧いLinuxThreadからNTPLをエミュレーションする
> # ライブラリがあると助かる人がたくさんいるかも
エミュレーションしなくても、/usr/include/pthread.hのコメント中に、「LinuxThread」 という文字を入れるだけでも何とかなったりして。(linuxthreadとnptlはinterchangeableなんで)
Re:変った物 (スコア:1, 参考になる)
新しい NPTL の実装には Linux 2.6 カーネルが必要。
Linux 2.4 カーネルでちゃんと動く libc と libpthread には、
stable 2.3 ブランチ推奨。
Re:変った物 (スコア:0)
蛇足だけど、2.6 で LinuxThread は使えた筈。
さらに余談としては RedHat9 当たりでは 2.4 にパッチ当てて NPTL 使う。
Re:変った物 (スコア:0)
叩き台って事で許してちょ。
Re:変った物 (スコア:1)
libpthredが内部で使うのがLinuxThreadかNPTLかって事なんだけど……
glibc-2.3.xの場合,変な事してなければ,LinuxThreadを使っていたバイナリもNPTLでそのまま動くし。
Re:変った物 (スコア:1, 参考になる)
> for compatibility with some other systems.
>よくわからん。
他システムとの互換性のため、euidaccess関数は、
accessというエイリアスでも参照可能となりました
という感じでしょうか...
Re:変った物 (スコア:0)
細かいツッコミだけど (スコア:2, すばらしい洞察)
>> フリーソフトウエアの正に基本となる
と思うけど,glibcでこの表現は言いすぎだと思う.例えばBSD系のlibcとかだってあるわけだしね.
Re:細かいツッコミだけど (スコア:3, すばらしい洞察)
でも目くじら立てるほどのことでも、という気がします。ちょっと細かいんじゃない?
# 当方FreeBSDユーザ。
Re:細かいツッコミだけど (スコア:3, すばらしい洞察)
正に基本となるライブラリ GNU C libraryはフリーソフトウエアで、その最新版である……
と読んであげましょう。
Re:細かいツッコミだけど (スコア:1)
POSIX/POSIX風じゃなかったらglibcどころかlibc自体使わんよなぁ...
Re:細かいツッコミだけど (スコア:1, すばらしい洞察)
Free Softwareだったら、「正に基本となる」でも良いんじゃないかと思う。
glibcを使わなくたってFree Softwareはビルドできますが。
Fedora の真骨頂発揮? (スコア:2, 興味深い)
FC5 もリリース版が出そうなので、世界中の人柱の皆様ありがとうって感じなのです。
# OSC 直前に FC5 がリリースされるはずなんで、タレコミよろしくね > 誰か
Re:Fedora の真骨頂発揮? (スコア:1, すばらしい洞察)
Re:Fedora の真骨頂発揮? (スコア:1)
逆にリリース前の RC とか、technology preview とか、一部機能の backport とかの方が、「単にリリース版を使ってる」より Fedora 的だと思うのだが。
# 極端な話、リリースされちゃったから人柱になれなくて残念ぐらいの勢いです(嘘
役に立たないNEWS (スコア:1)
・Update
・. (ピリオドのみ)
などといったステキ1行コメントであふれており何を修正したのかまったく分からなくなっています。
唯一Linuxユーザに関係ありそうなのは
Note LinuxThreads removal.
だけかな。
わたしはあんまり積極的にアップデートしたいとは思わなかったなぁ
Re:役に立たないNEWS (スコア:3, 参考になる)
Re:役に立たないNEWS (スコア:0)
× 変更の詳細については NEWS などを読むこと。
○ NEWSファイルの編集の履歴については NEWS を読むこと。
ってことか。
Re:役に立たないNEWS (スコア:0)
Re:役に立たないNEWS (スコア:0)
「など」っていうのが間違っているのに
>○ NEWSファイルの編集の履歴については NEWS [redhat.com] を読むこと。
なんで「変更の詳細」のほうを直そうとするのか
変更の詳細についてはNEWS [redhat.com]の
Re:役に立たないNEWS (スコア:0)
LFSでも使ってない限りは使うディス鳥のバージョンをあげるかどうかで勝手に決まるでしょ?