问题标签 [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++ - Glibc 在调用新关键字 C++ 时检测到 malloc() 内存损坏 (0xb6179bb8)
我的程序运行到调用new关键字会导致上述错误的地步。即char* a = new char[100]
。错误是可重现的,并且每次都可以重现。我运行程序直到调用new关键字。似乎内存位置已损坏,但我不确定他的问题是什么。
此错误的可能原因是什么?
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 的 shell 包装器,然后启动我的 C 程序,但感觉不太优雅。我还可以通过 bash 或 sh 的源代码 grep 看看它是如何在那里完成的 - 如果我在这里没有得到答案,也许我会这样做。
同样相关的是,如果您想在很多文件描述符上进行选择,请查看此处。
c - Glibc and uClibc side by side on one system
Is it possible to have glibc and uClibc based applications running side-by-side on one system?
Background: We have binary gcc based cross-compiler configured to link with uClibc. We have cross-compiled glibc with it. Now we want to build some applications so they will link with the glibc rather than uClibc. We don't want to rebuild the compiler.
linux - Linux:在运行时检测一个进程有多个线程
我在用最近的 glibc 询问 linux。
有没有办法检测该进程由 1 个线程或多个线程组成?
线程可以由 pthread 或裸 clone() 创建,所以我需要一些相当通用的东西。
UPD:我想从它本身检测当前进程的线程。
linux - ELF 文件 TLS 和 LOAD 程序部分
-static
编译后readelf -l
显示来自精灵的程序头:
有人可以解释一下,为什么第二个和第四个程序头确实相交(它们以相同的偏移量 0x079f94 和 VirtAddr 0x080c2f94 开头)。
此外,段部分.tdata
被引用两次。
第一个线程(程序本身)如何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
to打印GLIBCXX_3.4.14
。相反,在另一个系统上,它只打印到GLIBCXX_3.4.8
(我得到了 libstdc++.so.6.0.8)。
所以我有几个问题:
为什么我的链接器将 C++ 二进制文件链接到 libstdc++ 版本
GLIBCXX_3.4.9
而不是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 的代码没有太大变化,但是现在 sshd segfaults 当 script_open 函数调用时(如 gdb 所说)
崩溃的代码是:
或者
完整的 script.c 清单在这里http://pastebin.com/48B39K8s,我已经评论了第 50 行并从第 53 行删除了 logname 变量。
我只是想知道,自 2.3 以来 glibc 发生了什么变化,这些函数会导致段错误或在哪里阅读它。