GSoC 2025项目实现了BFloat16类型在LLVM libc中的支持,包含基本数学函数。BFloat16是一种适用于AI和机器学习的16位浮点格式,性能优于IEEE binary32。项目旨在确保其在所有编译器和平台上的兼容性,未来计划实现更多高阶数学函数。
PostgreSQL支持三种Unicode版本:libc、icu和builtin。虽然在基本操作中版本影响不大,但在字符解释时则至关重要。PostgreSQL 17引入了unicode_version()和icu_unicode_version()函数,帮助用户识别Unicode版本。通过SQL表达式,用户可以近似判断libc支持的Unicode版本。不同操作系统和Postgres版本的Unicode支持情况各异,可能存在较旧的Unicode版本。
本文介绍了在Linux上手动编译libc库的过程,重点调试malloc的内存管理。通过下载源代码、编译和配置C代码,作者成功加载自定义libc并使用gdb调试,深入探索malloc的实现,提供了对内存管理的实践理解。
本文介绍了在Linux上手动编译libc库的过程,重点调试malloc的内存管理。通过下载源代码、编译和配置C代码,作者成功加载自定义libc并使用gdb进行调试,深入了解malloc的实现,提供了内存管理的实践经验。
PostgreSQL中的locale提供者有三种:libc(POSIX标准库)、ICU(支持多语言Unicode文本)和builtin(PostgreSQL 17引入,支持C和C.UTF-8)。
musl Linux和glibc是不同的C标准库实现,运行.NET应用程序时需要注意它们之间的兼容性问题。选择长期支持版本的.NET和合适的运行环境可以实现最佳兼容性。在使用Docker容器时,需要注意选择合适的镜像基础层和解决版本冲突等最佳实践。在musl和glibc环境下运行.NET应用程序时,需要注意libc库的版本兼容性。
GSoC 2024项目旨在在LLVM libc中实现C23定义的_Float16数学函数,使其成为第一个实现这些C23函数的C标准库。已完成_Float16基本操作的70个计划中的所有操作,并在某些架构上对_Float16、float和double变体进行了优化。计划中的54个_Float16高级数学函数中已合并了8个,并有9个开放的拉取请求。需要解决与编译器运行时的问题,并在其他架构上启用所有_Float16函数。
GSoC 2024项目中的GPU Libc Benchmarking旨在为GPU开发微基准测试基础设施,通过在GPU上编译和运行微基准测试框架,并使用libc函数向用户显示输出。基准测试基于Google Benchmark,测量每个基准测试的平均周期、最小值、最大值和标准差。未来的工作可以在基准测试基础设施中添加额外的基准测试,并改进基础设施,如增加用户输入范围的选项、改进数学函数的随机分布等。
Cosmopolitan Libc 是一个创新的 C 语言库,允许用户编写一次代码并在多个平台上运行,无需解释器或虚拟机。它通过重新配置 GCC 和 Clang,输出符合 POSIX 标准的格式,支持 Linux、Mac 和 Windows 系统,具有优越的性能和小内存占用,同时提供强大的调试功能,适合多种编译模式。
本文介绍了如何利用任意写漏洞修改 libc 中的函数地址,从而在 exit 调用 _dl_fini 时执行恶意代码。同时,还列出了 libc-2.23、libc-2.27 和 libc-2.31 中相关函数的地址。
本文介绍了 Rust 社区的文章、项目和视频,包括替代 libc、终端美化、浏览器成为操作系统等话题。同时提到了 Rustaceans 世界的相似周刊。
该项目在编译cdylib库时使用了vendor,1.69版本的rust下编译正常,但在1.70版本下编译报错,尝试修改依赖的libc与proc-macro2的版本仍有编译报错。
文章 - 使用 Rust 和 Cosmopolitan Libc 构建可移植可执行文件 一次构建,到处运行。Rust 真的可以做到 Actually Portable Executables 吗? 本文作者使用 Cosmopolitan Libc 进行了一次探索,并成功构建了一个可以跨 Linux, Windows, MacOS, FreeBSD, NetBSD, OpenBSD...
国庆假期闲来无事,对自己的群晖 NAS(非生产环境) 内的一个内置软件包做编译升级。在不明确该动态库具体作用的情况下,误操作将 /lib/libc.so.6 这个动态库文件重命名为了 libc.so.6.bak,导致 ls、mv、cp 等一系列基础命令无法使用,本文记录一下解决方案。
鉴于最近关于 libc 的讨论又开始兴起,在此稍作总结。
本文讨论了两个不同的C标准库(libc)的历史、发展及其影响。
本文讨论了Debian报告的一个bug,该bug在使用glibc时导致程序崩溃,而在musl libc中未出现。分析表明,glibc的isalnum函数实现复杂,可能引发内存访问错误,而musl libc的实现则简单且安全。作者强调,isalnum函数不应因输入导致程序崩溃,突显了代码健壮性和可预测性的重要性。
完成下面两步后,将自动完成登录并继续当前操作。