問題タブ [glibc]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
c++ - 新しいキーワード C++ を呼び出すときに、Glibc が malloc() メモリ破損 (0xb6179bb8) を検出しました
私のプログラムは、 newキーワードを呼び出すと上記のエラーが発生するところまで実行されます。すなわちchar* a = new char[100]
。エラーは再現可能で、毎回です。新しいキーワードを呼び出す時点までプログラムを実行します。その時点でメモリの場所が壊れているようですが、彼の問題が何であるかはわかりません。
このエラーの考えられる原因は何ですか?
c++ - libresolv に対してリンクするときの未定義の参照
libresolv にリンクするライブラリであるプロジェクトがあります。最近のディストリビューションでは問題なく動作します: Ubuntu 10.x Fedora 13、Mandriva 2010.1 ですが、Centos 5.x では次のエラーが発生します。
インストールされている glibc は次のとおりです: glibc-2.5-18.el5_1.1
library.la ファイルには以下が含まれます。
configure.ac を読むことができます
前もって感謝します
linux - プロセスはシグナル6で終了し、コアはlibcで一種のループを示しています
プロセスのコア(シグナル6で終了)の分析では、LINUXでは、スタックbtは次のことを示しています。
libcがループに入ったようです。ここのアプリケーション「rrcprb」で問題が発生しましたか。この問題のデバッグを手伝ってください。
c - C内から「ulimit -n 400」に相当する方法は?
C で記述されたプログラムを開始する前に、「ulimit -n 400」コマンドを実行して、許可されているオープン ファイルの数を増やす必要がありますが、C プログラム内から同等のことを行う方法はありますか?
つまり、そのプロセスで許可されるオープン ファイル記述子の数を増やします。(スレッドごとの制限には興味がありません。)
ulimits を設定してから、より多くのファイルを開くことができる子をフォークする必要がありますか?
もちろん、ulimit を実行するシェル ラッパーを作成してから C プログラムを起動することもできますが、洗練されていないように感じます。また、bash または sh のソース コードを grep して、そこでどのように処理されているかを確認することもできます。
関連して、多数のファイル記述子を選択する場合は、こちらを参照してください。
c - 1 つのシステムで Glibc と uClibc を並べて表示
glibcとuClibcベースのアプリケーションを 1 つのシステムで並行して実行することはできますか?
背景: uClibc とリンクするように構成されたバイナリ gcc ベースのクロスコンパイラがあります。glibc をクロスコンパイルしました。ここで、uClibc ではなく glibc とリンクするようにいくつかのアプリケーションを構築したいと考えています。コンパイラを再構築したくありません。
linux - Linux:プロセスに複数のスレッドがあることを実行時に検出する
最近のglibcを使用したLinuxについて質問しています。
プロセスが1つのスレッドまたは複数のスレッドで構成されていることを検出する方法はありますか?
スレッドはpthreadまたはbareclone()で作成できるので、かなり普遍的なものが必要です。
UPD:現在のプロセスのスレッドをそれ自体から検出したい。
linux - ELF ファイルの TLS および LOAD プログラムのセクション
-static
コンパイル後readelf -l
、elf からのプログラム ヘッダーが表示されます。
2番目と4番目のプログラムヘッダーが交差する理由を誰かが説明できますか(同じオフセット0x079f94とVirtAddr 0x080c2f94で始まります)。
また、セグメントセクション.tdata
は 2 回参照されます。
最初のスレッド (プログラム自体) にどのようPT_TLS
にロードされますか? 記憶のPT_LOAD
どこにある?.tbss
postgresql - CUnit-2.1-2-src.tar.bz2 のインストール後に libcunit.so.1 が見つからない
これはサイトで唯一の tar です。オンラインでヘルプはありません。見逃したパラメーターはありますか? このライブラリはどこで入手できますか?
c++ - GLIBCXX バージョン
自分のマシンで C++ プログラムをコンパイルし、それを別のマシン (古いソフトウェアを使用) で実行すると、次のようになります/usr/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not found
。
実際、私のシステムでは glibc の方が新しく (gcc-libs 4.5.1: libstdc++.so.6.0.14 を取得しました)、strings /usr/lib/libstdc++.so.6 | grep GLIBCXX
から に出力さGLIBCXX_3.4
れGLIBCXX_3.4.14
ます。GLIBCXX_3.4.8
代わりに、他のシステムでは、 (libstdc++.so.6.0.8 を取得しました)までしか出力されません。
だから私はいくつかの質問があります:
GLIBCXX_3.4.9
リンカーが C++ バイナリをではなくlibstdc++ バージョンにリンクするのはなぜGLIBCXX_3.4.14
ですか?libstdc++ バージョンに対してバイナリをコンパイルした場合、
GLIBCXX_3.4
ほとんどどこでも実行されると思います。それは何らかの問題を意味しますか?(例: 古い、したがってより悪いアルゴリズムの実装を使用しますか?)代わりに、プログラムを libstdc++ に対して静的にリンクすると、どこでも実行されると思います。もちろん、バイナリははるかに大きくなります(〜1MB)。他に長所/短所はありますか?
リンカーに、特定のバージョンの libstdc++ に対してバイナリをリンクさせることはできますか?
c - 新しいバージョンの glibc (2.3 -> 2.10) でコンパイルするとセグメンテーション違反が発生する
kdvelectronics サイトから ssh セッション ログ パッチを sshd に変更しようとしています。
コードは openssh 4.x から 5.x にあまり変更されていませんが、script_open 関数が呼び出されると sshd segfaults が発生するようになりました (gdb によると)。
クラッシュするコードは次のとおりです。
また
script.c の完全なリストはこちらhttp://pastebin.com/48B39K8sです。50行目をコメントし、53 行目から logname 変数を削除しました。
これらの関数が segfault を引き起こす 2.3 以降の glibc の変更点や、それについてどこで読むべきかを知りたいだけです。