These are public posts tagged with #libc. You can interact with them if you have an account anywhere in the fediverse.
[Перевод] Ужасное состояние двоичной совместимости Linux (и что с ним делать)
Двоичная совместимость в Linux омрачена одним аспектом, который часто упускаю из виду при рассмотрении выпуска ПО для Linux. В этой статье я расскажу, как можно увидеть этот аспект, как решать эту проблему при выпуске современного ПО и что же именно нужно сделать, чтобы устранить её полностью.
https://habr.com/ru/articles/893720/
#двоичная_совместимость #дистрибутивы_linux #linux #libc #стандартная_библиотека
Двоичная совместимость в Linux омрачена одним аспектом,…
Хабр[Перевод] Ужасное состояние двоичной совместимости Linux (и что с ним делать)
Двоичная совместимость в Linux омрачена одним аспектом, который часто упускаю из виду при рассмотрении выпуска ПО для Linux. В этой статье я расскажу, как можно увидеть этот аспект, как решать эту проблему при выпуске современного ПО и что же именно нужно сделать, чтобы устранить её полностью.
https://habr.com/ru/articles/893720/
#двоичная_совместимость #дистрибутивы_linux #linux #libc #стандартная_библиотека
Двоичная совместимость в Linux омрачена одним аспектом,…
ХабрRevolutionizing Rust: The Emergence of c-ward as a libc Implementation
The Rust programming community has a new player in the libc space with c-ward, a fresh implementation designed to bridge the gap between C and Rust. This innovative library not only enhances compatibi...
https://news.lavx.hu/article/revolutionizing-rust-the-emergence-of-c-ward-as-a-libc-implementation
把 libc 移植到 GPU 上跑
在「Using Libc for GPUs (llvm.org)」這邊看到的,本來在想是個路人的噱頭 project,但仔細看才發現是 LLVM libc 官方的文件:「Using libc for GPUs」。
不是所有的 libc 函數都被 porting 上去,但從列出來的支援清單可以看到主要就是計算類會用到的,但還是有包括一些 I/O (stdio.h) 與時間 (time.h) 相關的函數:
Once you have finished building the GPU C library it can be used to ru
#Computer #Murmuring #Programming #Software #gpu #libc #llvm
在「Using Libc for GPUs (llvm.org)」這邊看到的,本來在想是個路人的噱頭…
Gea-Suan Lin's BLOGTo enable fast system calls in dynamically linked binaries, we load at runtime a C library that is "unikernel-aware" and employs function calls into the kernel for system calls invocations. This C library is a special version of Musl #libc that can be created fully automatically from vanilla Musl. This is done with the Coccinelle code transformation tool. To build it and test it out, use the following steps.
https://github.com/ssrg-vt/hermitux/wiki/Fast-system-calls-in-dynamically-linked-programs
system call interface is designed to be compatible with the C calling convention, which is also the most common calling convention used globally. By adhering to the C calling convention, developers can not only perform system calls in different programming languages, they can also call procedures written in another language, because most languages use C calling convention for their FFI feature. The latter case is even more common, as most languages won’t interact with the system call interface directly in binary level, but by calling a C-based system call wrapper defined in the #libc
this ABI is painfully difficult to disentangle from the programming language C. In order to make a C call, you don’t just need to know what registers to pass arguments in and what size an int is, you need to know things like struct layout and what it means to spill a struct onto the stack. You also need some way to take the interface specifications provided by operating systems and turn them into a format your compiler can work with, and wouldn’t you know it, those interface specifications are provided in the form of… C header files.
https://langdev.stackexchange.com/questions/3233/why-do-common-rust-packages-depend-on-c-code/3237#3237
Chapter 1 of "The Rust Programming Language" (Klabnik…
Programming Language Design and Implementation Stack Exchange#Nix seeks to provide friendly bindings to various *nix platform APIs (Linux, Darwin, ...). The goal is to not provide a 100% unified interface, but to unify what can be while still providing platform specific APIs.
For many system APIs, Nix provides a safe alternative to the unsafe APIs exposed by the libc crate. This is done by wrapping the #libc functionality with types/abstractions that enforce legal/safe usage.
Что может сломаться при обновлении до FreeBSD 14.1 или 15-CURRENT
Мы потратили день на разбирательство, почему на сервере часы начали прыгать туда-сюда на 3 часа. Этот текст написан в расчёте на то, что другие его найдут и сэкономят время.
Мы потратили день на разбирательство, почему на сервере…
habr.comExciting easy win I'd been meaning to do for a long time for broadening the scope of libc-test: 45 LoC (including include directives) to dive into a user+mount+net namespace where resolv.conf points to localhost and you have your own localhost you can bind to port 53 on (so resolver can be tested or even fuzzed). Non #musl specific; like all of libc-test, should work for any #libc.
@mntmn From what I understand though, it is rarely the best approach. Here's an interesting comment by @david_chisnall about the recent addition of some #assembly bits to #FreeBSD #libc:
https://lobste.rs/s/uhdxcb/freebsd_14_1_release_announcement#c_jdakn8
Cross-platform native C executables? Sweet.
"Cosmopolitan Libc makes C a build-once run-anywhere language, like Java, except it doesn't need an interpreter or virtual machine. Instead, it reconfigures stock GCC and Clang to output a POSIX-approved polyglot format that runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS with the best possible performance and the tiniest footprint imaginable."
https://github.com/jart/cosmopolitan
#c #gcc #clang #polyglot #posix #crossplatform #cosmocc #libc #linux #windows #mac #macos #netbsd #bios
build-once run-anywhere c library. Contribute to jart/cosmopolitan…
GitHub New Linux glibc flaw lets attackers get root on major distros
"'No way to prevent this' says users of the only programming language where this regularly happens" https://xeiaso.net/shitposts/no-way-to-prevent-this/CVE-2023-6246/
CVE-2023-6246: Heap-based buffer overflow in the glibc's syslog()
We discovered a heap-based buffer overflow in the #GNU #C Library's
__vsyslog_internal() function, which is called by both syslog() and
vsyslog().
[…] To the best of our knowledge, this vulnerability cannot be triggered
remotely in any likely scenario (because it requires an argv[0], or an
openlog() ident argument, longer than 1024 bytes to be triggered).
Last-minute note: in December 1997 #SolarDesigner published information
about a very similar vulnerability in the vsyslog() of the old #Linux
#libc (https://insecure.org/sploits/linux.libc.5.4.38.vsyslog.html).
Standard overflow (although it is pretty sad to see…
insecure.orgLLMs as local offline tools like grep? llamafile combines model + binaries into one single file and it is easy to run as part of your bash script as grep or sed is. https://github.com/mozilla-Ocho/llamafile
Interesting thing is that the same binary runs natively on Linux + Mac + Windows + FreeBSD + OpenBSD + NetBSD + BIOS on AMD64 and ARM64 with the best possible performance. Because of this project: https://justine.lol/cosmopolitan/index.html
#llm #llama #llava #genai #cosmopolitanlibc #cosmopolitan #libc
Distribute and run LLMs with a single file. Contribute…
github.combuild once run anywhere c
"After nearly one year of development, I'm pleased to announce our version 3.0.1 release of the Cosmopolitan library. The project is an entirely new animal. For starters, Mozilla sponsored our work as part of their MIECO program. Google also awarded me an open source peer bonus for my work on Cosmopolitan, which is a rare honor"
C developers: "Rust's memory safety is not a 'feature' of your program. It doesn't automatically make it better."
CVE-2023-4911: "Well hello there!"
I don't know about others but security is a pretty big feature in my books!
#security #linux #cve20234911 #libc #glibc #Rust #C #MemorySafety