Habr 25+

[Перевод] Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Двоичная совместимость в Linux омрачена одним аспектом, который часто упускаю из виду при рассмотрении выпуска ПО для Linux. В этой статье я расскажу, как можно увидеть этот аспект, как решать эту проблему при выпуске современного ПО и что же именно нужно сделать, чтобы устранить её полностью.

habr.com/ru/articles/893720/

#двоичная_совместимость #дистрибутивы_linux #linux #libc #стандартная_библиотека

Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Двоичная совместимость в Linux омрачена одним аспектом,…

Хабр
Habr

[Перевод] Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Двоичная совместимость в Linux омрачена одним аспектом, который часто упускаю из виду при рассмотрении выпуска ПО для Linux. В этой статье я расскажу, как можно увидеть этот аспект, как решать эту проблему при выпуске современного ПО и что же именно нужно сделать, чтобы устранить её полностью.

habr.com/ru/articles/893720/

#двоичная_совместимость #дистрибутивы_linux #linux #libc #стандартная_библиотека

Ужасное состояние двоичной совместимости Linux (и что с ним делать)

Двоичная совместимость в Linux омрачена одним аспектом,…

Хабр
Root Moose

I kind of wish there was a version of Alpine that was libc based - just for desktop NVIDIA support really.

#Linux #AlpineLinux #Alpine #NVIDIA #libc #musl

LavX News

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...

news.lavx.hu/article/revolutio

#news #tech #RustLang #SystemsProgramming #libc

Gea-Suan Lin

把 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

blog.gslin.org/archives/2024/1

#Computer #Murmuring #Programming #Software #gpu #libc #llvm

把 libc 移植到 GPU 上跑

在「Using Libc for GPUs (llvm.org)」這邊看到的,本來在想是個路人的噱頭…

Gea-Suan Lin's BLOG
HoldMyType

To 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.
github.com/ssrg-vt/hermitux/wi

HoldMyType

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.
langdev.stackexchange.com/ques

Why do common Rust packages depend on C code?

Chapter 1 of "The Rust Programming Language" (Klabnik…

Programming Language Design and Implementation Stack Exchange
HoldMyType

#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.

Habr

Что может сломаться при обновлении до FreeBSD 14.1 или 15-CURRENT

Мы потратили день на разбирательство, почему на сервере часы начали прыгать туда-сюда на 3 часа. Этот текст написан в расчёте на то, что другие его найдут и сэкономят время.

habr.com/ru/articles/837004/

#freebsd #libc

Что может сломаться при обновлении до FreeBSD 14.1 или 15-CURRENT

Мы потратили день на разбирательство, почему на сервере…

habr.com
Cassandrich

Exciting 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.

0mp at FreeBSD

@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:
lobste.rs/s/uhdxcb/freebsd_14_

FreeBSD 14.1-RELEASE Announcement | Lobsters

lobste.rs
Bo Morgan

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."

github.com/jart/cosmopolitan

#c #gcc #clang #polyglot #posix #crossplatform #cosmocc #libc #linux #windows #mac #macos #netbsd #bios

GitHub - jart/cosmopolitan: build-once run-anywhere c library

build-once run-anywhere c library. Contribute to jart/cosmopolitan…

GitHub
Julien M.
#InfoSec #Linux

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).

https://seclists.org/oss-sec/2024/q1/68
Vsyslog overflow in Linux libc 5.4.38

Standard overflow (although it is pretty sad to see…

insecure.org
jouni

LLMs 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. github.com/mozilla-Ocho/llamaf

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: justine.lol/cosmopolitan/index

#llm #llama #llava #genai #cosmopolitanlibc #cosmopolitan #libc

GitHub - Mozilla-Ocho/llamafile: Distribute and run LLMs with a single file.

Distribute and run LLMs with a single file. Contribute…

github.com
Kaito

build 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"

justine.lol/cosmo3/

#cosmopolitan #c #libc

Thomas Frans 🇺🇦

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