glibc相关内容

为什么执行系统调用可以在运行时以"/bin/sh"运行?没有任何argv参数,但不是"/bin/ls"?

我对__NR_execve的系统调用感到困惑.当我学习linux系统时调用.我知道使用execve的正确方法是这样的: char *sc[2]; sc[0]="/bin/sh"; sc[1]= NULL; execve(sc[0],sc,NULL); 然后,函数execve将调用syscall()进入系统内核,并将参数放在寄存器EAX,EBX,ECX和EDX上.但是,如果我使用 ..
发布时间:2020-05-01 08:44:48 服务器开发

glibc:elf文件OS ABI无效

下载并编译了glibc-2.13.当我尝试运行执行malloc()的示例C程序时.我收到以下错误 elf file OS ABI invalid 任何人都可以通过我的任何指针来解决此问题.请注意,我的内核版本是linux-2.6.35.9 解决方案 问题不是您的内核版本. 您系统上的加载程序不支持新的Linux ABI.直到最近,Linux ELF二进制文件仍使用System ..
发布时间:2020-05-01 08:39:59 服务器开发

如何从源代码编译我自己的glibc C标准库并使用它?

我正在尝试编译自己的glibc.我有一个目录glibc,其中包含我从互联网上下载的glibc源代码.在该目录中,键入mkdir ../build-glibc.现在,从build-glibc目录中键入../glibc/configure,它执行了配置.现在,我不确定如何调用make.我没有从glibc目录调用它,因为它没有配置设置,我也不能从build-glibc调用它,因为makefile不在该目 ..
发布时间:2020-05-01 08:30:24 服务器开发

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 ..
发布时间:2020-05-01 08:28:04 服务器开发

如何在“检测到glibc *** free():无效指针"上强制中止操作;

在Linux环境中,当出现"glibc检测到*** free():无效的指针"错误时,如何确定是哪一行代码引起的? 是否有一种方法可以强制中止?我记得有一个ENV变量来控制吗? 如何在gdb中为glibc错误设置断点? 解决方案 我相信,如果将MALLOC_CHECK_设置为2,则glibc将在检测到"free():无效指针"错误时调用abort().请注意环境变量名称中的下划 ..
发布时间:2020-05-01 08:22:43 服务器开发

强制free()将malloc内存返回给OS

似乎就像我释放了由malloc()分配的Linux进程的所有内存之后, 内存仍为该进程保留,没有返回给操作系统. 默认情况下,运行valgrind massif工具不会泄漏. 使用--pages-as-heap = yes运行valgrind会显示以下内容: -> 13.77%(7,655,424B)0x35FEEEB069:brk(brk.c:31) -> 13.77%( ..
发布时间:2020-05-01 08:17:56 服务器开发

memcpy memmove GLIBC_2.14/2.2.5的说明

我的问题源于共享库,我没有选择重新编译该库.错误显示为undefined reference to memcpy@GLIBC_2.14. 我的计算机上的GLIBC版本是2.12.我已经看到人们使用该行在线完成的修复程序 __asm__(".symver memcpy,memcpy@GLIBC_2.2.5"); 我所做的修复是使用十六进制编辑器将2.14的引用更改为GLIBC_2.2 ..
发布时间:2020-05-01 03:35:36 服务器开发

GHC可以将二进制文件链接到uclibc之类的libc实现(默认情况下在OpenWrt中使用)吗?

我正在使用Debian/MIPS + QEMU构建 PortFusion的MIPS端口 (TCP隧道解决方案).生成的二进制文件与GNU libc链接.因此,它们不能被复制并用于随同 uclibc 而不是 eglibc (似乎与GNU libc二进制兼容)的香草OpenWrt. 是否可以将Debian/MIPS上的Haskell/GHC二进制文件与 uclibc 而不是 eglibc 链接? ..
发布时间:2020-05-01 03:35:28 其他开发

找不到PHP Shell命令错误GLIBCXX_3.4.9

我正在尝试从php执行shell命令以将文件转换为pdf,但出现此错误. 有人可以详细解释如何解决吗? 我在linux中不太好( 而且如果我直接通过终端执行命令,一切都会正常. /usr/lib/libreoffice/program/oosplash: /opt/lampp/lib/libstdc++.so.6: version `GLIBCXX_3.4.9' not ..
发布时间:2020-04-30 10:41:05 PHP

使用glibc而不是默认库进行编译的C程序:执行时拒绝权限

这是我关于stackoverflow的第一个问题,所以我会尽力做到这一点. 上下文: 我想提供一个可以在每个Linux发行版上运行的程序(例如,一个将使用C ++ 11的程序,在没有C ++ 11库的系统上运行). 为此,我想复制程序使用的所有库,并将它们放在带有可执行文件的文件夹中,以便它可以使用这些库而不是系统的库. 我有2种环境要测试: -Opensuse,使用(GNU l ..
发布时间:2020-04-30 08:35:30 服务器开发

glibc中的strtoul的实现是否与C11标准冲突?

以下是由glibc实现的stdlib.h中的功能strtoul的描述: 功能:无符号长整数strtoul(const char *限制字符串,char **限制tailptr,int基数) 初步: MT安全区域| AS安全交流安全|请参阅POSIX安全概念. strtoul(“字符串到无符号长整数")函数类似于strtol,不同之处在于它转换为无符号long int值.语法与上述str ..
发布时间:2020-04-27 05:06:59 其他开发

clock_gettime()仍然不单调-替代方案?

已经有一段时间了(例如,请参见此旧问题,并且当您在Google上搜索时会弹出错误报告),clock_gettime()似乎不会单调报告回时间.为了排除我可能忽略的任何愚蠢错误,以下是相关代码(摘自大型程序): long nano_1, nano_2; double delta; struct timespec tspec, *tspec_ptr; clo ..
发布时间:2020-04-25 11:32:00 服务器开发

了解glibc malloc修剪

我当前正在处理的某些程序消耗的内存比我想象的要多得多.因此,我试图了解glibc malloc修剪的工作原理.我编写了以下测试: #include #include #define NUM_CHUNKS 1000000 #define CHUNCK_SIZE 100 int main() { // disable fast bins ..
发布时间:2020-04-23 11:22:53 服务器开发

备用glibc动态链接器(ld.so)的库路径顺序

我需要使用备用glibc版本,该版本比系统上安装的版本(2.18 vs 2.15)更新.涵盖了几个相关问题 此处和我设置了新的动态链接器(ld-2.18.so)的库路径,以便在旧的libc(libc-2.15.so)之前找到新的libc(libc-2.18.so).但是,当我尝试使用新的ld运行程序时,会拾取旧版本的libc,并生成SEGV. 为什么会这样? 注意:我知道可以通过在编译时使用 ..
发布时间:2020-04-23 11:11:32 服务器开发