glibc相关内容

在 Alpine Linux 上构建 glibc 时出错

我正在尝试在 Alpine Linux 上安装 glibc.我在 Docker 中运行 Alpine Linux.以下是我正在使用的步骤: docker pull alpine docker run -it alpine/bin/sh apk add --no-cache make gcc linux-headers bsd-compat-headers gawk bison binut ..
发布时间:2021-11-27 08:26:23 其他开发

在 docker alpine linux 基础映像上设置 glibc 是否有最佳实践?

在具有正确路径的 docker alpine linux 基础映像上设置 glibc 是否有最佳实践,以便任何生成的进程都可以正确引用已安装的 libc 库的位置? 解决方案 是的, 我使用自定义构建的 glibc 在其上安装了 JRE. 您可以在此处 找到它 您可以使用 wget 或 curl 获取代码并使用 apk 进行安装 更新的命令见下面的评论 apk -- ..
发布时间:2021-11-27 08:21:56 其他开发

为 i386 构建 crti.o

我正在尝试构建一个交叉编译器,x86_64 是主机,i386 是目标.我得到了(所有常见的)crti.o:没有这样的文件错误.而不是从发行版中获取已经构建的 crti.o 和 crtn.o...我该如何从 glibc(或可能是 gcc)源中明确构建这些文件? 仅供参考,我很清楚 x86_64 编译器的 -m32 选项.我更喜欢只有 32 位的编译器环境.另外,我不想使用任何已经构建的 i38 ..
发布时间:2021-11-24 23:17:50 C#

glibc backtrace() 如何确定哪些堆栈内存是返回地址?

就程序而言,堆栈只是一堆内存.回溯函数如何确定哪些堆栈字节是指令指针返回地址,而不是哪些只是函数参数等? 解决方案 对程序而言,栈就是一堆内存. 没错.如果您对程序的结构一无所知,您将无法展开其堆栈. 用于展开的最简单的结构是单个“帧指针"保留寄存器以始终指向当前帧,并且该帧包含位于已知偏移量处的上一个帧指针. 这是在i*86上使用了很长时间的机制,并且仍然在许多RI ..
发布时间:2021-11-17 22:38:10 其他开发

使用 UCLIBC 交叉编译 PHP

这是一个重新发布的帖子,之前的帖子被关闭,移动到服务器故障并再次关闭.我认为这篇文章是一个有效的计算器溢出问题,因为我认为它是由一些自动制作/编译/链接错误.这是编程问题而不是服务器管理员问题. 交叉编译 PHP https://serverfault.com/questions/418521/cross-compile-php 文章开始 我已经下载了 PHP 5.4.0 源代 ..
发布时间:2021-11-17 22:25:43 其他开发

为较旧的 glibc 构建

我正在构建 32 位 C++ 库,它将在现代 Ubuntu 机器上的旧系统上运行.应用程序在 Ubuntu 上运行良好,但是当我移动到旧的 Centos 6.9 机器时出现错误: 无法打开我的库:/usr/lib/libstdc++.so.6: version 'GLIBCXX_3.4.21' not found (required by/home/aaa/bbb/libme.so) 如何解决 ..
发布时间:2021-09-12 19:15:51 其他开发

如何让 Ubuntu 的 crypt(3) 支持 Blowfish?

根据 crypt(3) 手册,河豚(由 $2a$ 前缀表示)是受支持的密码方法之一: ID |方法──────────────────────────────────────────────────────────────1 |MD52a |Blowfish(不在主线 glibc 中;在一些|Linux 发行版)5 |SHA-256(自 glibc 2.7 起)6 |SHA-512(自 glib ..
发布时间:2021-06-14 20:01:21 其他开发

在 O(1) 中计算数字中的位数

我需要计算一个数字中的小数位数(例如:1002 为 4).我想以 O(1) 时间复杂度执行此操作,因为代码将在大量数字上迭代,从而显着节省 CPU 时间. 我想出了两个解决方案: 循环除以 10,直到数字变为零.循环数是答案.但是,显然是 O(n) 时间. log_base_10(num) + 1 问题:log10 是 O(1) 解决方案吗?我在 x86 机器上使用 glibc ..
发布时间:2021-06-10 19:15:15 其他开发

哪个libc时间给我一天的时间?

Fedora 33乐 我想使用NativeCall与lic.so.6进行交流,以作为我正在编写的示例.我发现了 https://www.gnu.org/software/libc/manual/html_node/Function-Index.html https://www.gnu.org/software/libc/manual/html_node/Getting-the-Tim ..
发布时间:2021-05-11 18:57:35 其他开发

在Red Hat 6.5中安装glibc 2.15

我在项目中使用openCV.在Red Hat实例中进行测试时,出现异常"/lib64/libc.so.6:找不到版本'GLIBC_2.15'".那么,如何在Red Hat中安装glibc 2.15?我喜欢 rpm (不是2.15(我希望新版本能对我有所帮助)),但是我需要一些依赖项.我可以从某个仓库中安装glibc吗? thx! 解决方案 我可以从某些存储库中安装glibc吗? ..
发布时间:2021-05-11 18:57:32 其他开发

未对齐的内存上的宽字符串libc函数

因此,在痛苦的调试之后,我发现像wcslen这样的libc函数在处理非内存对齐的缓冲区时将无声地失败.以我为例,执行wcslen(mystr)会导致错误的长度值,该长度值稍后才产生崩溃(在wcstombs中,assert buff [-1] == 0). 对我来说,一种解决方案是重新编写我需要在未对齐内存上使用的所有宽字符串函数.这很容易,但也很肮脏,而且由于没有关于libc的哪些部分支持非 ..
发布时间:2021-05-11 18:57:29 其他开发

编译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 其他开发

bash如何解析ANSI-C带引号的字符串中的控制字符转义码?

我正在重新实现bash的引用了ANSI-C在JavaScript中,但是我很难理解它们中的控制字符是如何解析的.我在 lib/中看到了代码sh/strtrans.c 这样做: 案例'c':如果(sawc){* sawc = 1;* r ='\ 0';如果(rlen)* rlen = r-ret;返回ret}否则if((flags& 1)== 0&& * s == 0);/*通过\/传递\ c否则 ..
发布时间:2021-05-11 18:57:20 其他开发

Linux C程序:SIGABRT来自何处?

在Fedora 22虚拟机上,我的C程序因SIGABRT而崩溃.GDB指向glibc存根中用于轮询系统调用的指令.拆卸看起来像这样: 0x7f5359c46662mov%rax,(%rsp)0x7f5359c46666mov $ 0x7,%eax0x7f5359c4666b系统调用> 0x7f5359c4666d ..
发布时间:2021-05-11 18:57:16 其他开发

如何在Ubuntu中动态链接到glibc

我正在尝试在Linux(Ubuntu 18.04 LTS)中汇编并链接这个小巧的x86汇编代码: ; hello.asm全局_startextern scanf,printf,退出.data节read_name db'%255s',0msg db'Hello,%s',0.text部分_开始:sub esp,256推esp推送read_name致电scanf加esp,8推esp推味精致电print ..
发布时间:2021-05-11 18:57:14 其他开发

调用克隆系统调用时,谁设置RIP寄存器?

我正在尝试实现最小内核,并且正在尝试实现克隆syscall.在手册页中,您可以看到如下定义的克隆系统调用: int clone(int(* fn)(void *),void * stack,int标志,void * arg,.../* pid_t * parent_tid,void * tls,pid_t * child_tid */); 如您所见,它接收一个函数指针.如果您仔细阅读手册页 ..
发布时间:2021-05-11 18:57:11 其他开发