glibc相关内容

编译libwebrtc

我正在尝试从源代码构建libwebrtc,但是在构建时出现错误. 这些是我遵循的步骤: $ cd/home/user1$ mkdir libwebrtc&&光盘libwebrtc$ fetch --nohooks webrtc$ gclient同步$ cd src$ git checkout -b m79参考/远程/分支头/m79$ gclient同步 然后构建: $ gn ge ..
发布时间:2021-05-11 18:57:25 服务器开发

使电话机会化

在linux上, malloc 的行为是机会性的,只有在首次访问虚拟内存时才通过实际内存来支持它. 是否可以修改 calloc 使其也具有这种行为(在首次访问页面时对其进行分配和清零)? 解决方案 它不是 malloc()的功能,使其具有“机会性".这是内核的一个功能, malloc()与它无关. malloc()每当需要更多内存来满足请求时就向内核请求一小部分内存,而内核则说“是 ..
发布时间:2021-05-11 18:57:22 服务器开发

符号的@ GLIBC_2.2.5后缀有什么作用?

@ GLIBC_2.2.5 用glibc内的符号做什么/意味着什么? 我正在尝试在64位CLFS系统上构建软件包.我遇到了多个符号链接到/lib64/libc-2.15.so的未解决符号问题,但是,所有未解决的符号都有后缀 @ GLIBC_2.2.5 . 0000000000107910 T xdr_accepted_reply@GLIBC_2.2.50000000000112290 T ..
发布时间:2021-05-11 18:57:04 其他开发

如何更改GCC的crti.o默认搜索目录?

我想为 startfile 指定GCC的搜索目录,并 endfile : crt1.o , crti.o 和 crtn.o .在命令行上将 -B 传递给GCC驱动程序可以工作,但是不方便.如何修改规格文件( lib/gcc/x86_64-unknown-linux-gnu/4.9.2/specs )指定 startfile ? 的搜索路径? 我尝试在 startfile 规范中添加 -B 选项 ..
发布时间:2021-05-11 18:57:00 其他开发

启用/禁用硬件锁定清除

我正在使用glibc 2.24版本.它具有通过事务同步扩展(例如_xbegin()和_xend())用于pthread_mutex_lock实现的锁定省略路径.我认为硬件应该支持锁定清除,因为 hle CPU标志用于硬件锁定清除.我使用的处理器是采用Skylake架构的Intel®Xeon®Gold 6130. 首先,我想禁用Lock Elision,但是当我运行使用 pthread_mut ..
发布时间:2021-05-11 18:56:57 其他开发

glibc检测到malloc():C中的内存损坏

我正在尝试在Linux下用C编写代码并得到此错误消息: glibc检测到malloc():内存损坏 我不知道为什么... substring()只是通过提供起始索引和长度来返回原始字符串的一部分.例如substring("this is example",0,4)="this"; char * substring(char * str,int start,int length ..
发布时间:2021-05-11 18:56:54 其他开发

“对符号的未定义引用";使用ld链接时出错

我是刚开始在Linux上编写程序.我有一个使用 shm_open , ftruncate , mmap , fork 和 wait .我用 gcc -c 编译了该程序,然后将其与 ld -lrt 链接( shm_open 需要librt),但得到了一个奇怪的链接器错误: 对符号'waitpid @@ GLIBC_2.2.5'的未定义引用 等待 的手册页上说 glibc的功能测试宏要求(请 ..
发布时间:2021-05-11 18:56:48 其他开发

可以使用LD_PRELOAD加载不同版本的glibc吗?

字符转换 big-old-app 链接到旧版本的 glibc ,例如 glibc-2.12 .我无能为力. cute-new-addon.o 已链接到更新版本 glibc-2.23 .此 glibc-2.23 位于非标准路径中(因为我没有sudo权限). 故事 我想在 big-old-app 中使用 cute-new-addon.o .我通常会编写一个脚本来执行 big-old ..
发布时间:2021-05-11 18:56:45 其他开发

GCC正在生成填充零的二进制文件

我试图弄清楚为什么GCC生成的二进制文件如此之大. 考虑这个空程序: int main(){返回0;} 现在,我使用 GCC 9.2.1 20190827(Red Hat 9.2.1-1)和 glibc 2.29 构建它,而没有任何其他参数: gcc -o test test.c 生成的二进制文件为21984字节(〜22 KB).用 xxd 查看生成的文件,在多个地方长期 ..
发布时间:2021-05-11 18:56:40 其他开发

为什么GCC 6假定数据是16字节对齐的?

(对不起,未能将我的问题简化为一个简单的失败的测试用例...) 我在升级到GCC 6.3.0来构建代码库时遇到了问题(相关标志: -O3 -m32 ). 具体地说,由于GCC优化,我的应用程序在struct ctor调用中出现段错误. 在此ctor中,GCC使用了 movaps : 移动%xmm0,0x30a0(%ebx) movaps 需要操作数 16字节对齐.但是在此时 ..
发布时间:2021-05-09 20:59:07 C/C++开发

为什么glibc库使用汇编

我正在查看此页面: https://sys.readthedocs.io/en/latest/doc/01_introduction.html 这将解释glibc如何进行系统调用. 在其中一个示例中,对代码进行了检查,结果表明,汇编语言编写了glibc要做的最后一条指令实际上做系统调用(意味着对CPU的中断)...那么为什么在汇编中加入glibc?通过在装配中编写一小部分零件是否有某种优势? ..
发布时间:2021-05-09 20:58:15 其他开发

更详细地了解gcc版本和GLIBC,GLIBCXX版本

假设我具有以下本地gcc,g ++版本: $ gcc -v$ g ++ -vgcc版本6.3.1 与编译器版本相比,我不了解以下内容的关系和含义: 这是什么意思? /usr/lib64/libstdc ++.so.6 尝试运行二进制文件,但出现此错误, GLIBCXX_3.4.20 指的是什么?为什么数字以3开头? /lib64/libstdc ++.so.6:找不到版本"G ..
发布时间:2021-05-09 20:55:39 其他开发

我收到此错误:&“检测到glibc"

我刚刚编写了一段CPP代码,并在ubuntu中使用G ++对其进行了编译.当我运行我的代码时,一切都很好,代码可以很好地运行并提供输出,但没有退出,并且会出现此错误: ***检测到glibc *** ./a.out:free():无效的下一个大小(快速):0x09f931f0 ***=======回溯:=========/lib/libc.so.6(+0x6c501)[0x3de501]/lib ..
发布时间:2021-05-09 20:29:13 C/C++开发

为什么fread循环需要额外的Ctrl + D才能通过glibc发出EOF信号?

通常,要指示Linux终端上标准输入所附加程序的EOF,如果我只是按Enter键,则需要按Ctrl + D一次,否则按两次.我注意到 patch 命令是不同的.有了它,如果我只是按Enter键,则需要按Ctrl + D两次,否则需要按3次.(执行 cat | patch 则没有这种怪异.此外,如果我在键入任何实际输入之前按Ctrl + D,则根本没有这种怪异.)补丁的源代码,我可以追溯到 2cc7 ..
发布时间:2021-05-04 20:34:45 其他开发