Tumgik
#glibc
kokosila · 5 months
Text
sona pi toki pona li lon ilo glibc a!
mi pana e sona pi toki pona tawa kulupu pali glibc. tenpo suno ni la ona li kama tawa ilo glibc a! pana sin li lon la sina ale li ken kama jo!
ni la ilo Linux mute li ken sona e nanpa sike e ijo ante lili pi toki pona a!
awen la sona ni li lon la ilo lon ilo Linux li ken sona e ni: "toki pona li toki lon. mi o alasa e sitelen pi toki ni a!"
> env LC_ALL=tok.UTF-8 date 2024#)#01)#09 tenpo 21:45:11 lon -0500
glibc now has a toki pona locale!
i sent a patch with locale information to glibc, and it got committed today! it'll find its way into the next release.
with this, many Linuxes can understand locale formatting for toki pona.
additionally now that it has a locale, many Linux programs will be able to identify toki pona as a language, and furthermore, this allows many more programs to be able to be translated into toki pona.
> env LC_ALL=tok.UTF-8 date 2024)#01)#09 tenpo 21:45:11 lon -0500
12 notes · View notes
zeckma · 4 months
Text
autism
(lfs w/ glibc-2.39 and mixed version of packages to ensure a proper working system, plus wifi access [no gnat/gcc-ada or mingw-w64 quite yet], and i streamed it all on my youtube channel)
Tumblr media
6 notes · View notes
jpalecek-blog · 1 year
Text
fork() is not async-signal safe
(gdb) bt #0 __pthread_kill_implementation (threadid=<optimized out>, signo=signo@entry=6, no_tid=no_tid@entry=0) at ./nptl/pthread_kill.c:44 #1 0x00007ffff70a9d2f in __pthread_kill_internal (signo=6, threadid=<optimized out>) at ./nptl/pthread_kill.c:78 #2 0x00007ffff705aef2 in __GI_raise (sig=6) at ../sysdeps/posix/raise.c:26 #3 0x00007ffff7f9607e in crashOnSigTerm (sig=14) at /mnt/extras/src/kcrash/src/kcrash.cpp:437 #4 <signal handler called> #5 0x00007ffff70a4ef4 in futex_wait (private=0, expected=2, futex_word=0x7ffff71f1c60 &ltmain_arena>) at ../sysdeps/nptl/futex-internal.h:146 #6 __GI___lll_lock_wait_private (futex=futex@entry=0x7ffff71f1c60 <main_arena>) at ./nptl/lowlevellock.c:34 #7 0x00007ffff70b75c8 in __malloc_fork_lock_parent () at ./malloc/arena.c:189 #8 0x00007ffff70f3025 in __libc_fork () at ./posix/fork.c:71
Even though POSIX still counts fork() to async-signal safe functions, it is clearly not with glibc due to use of locks.
7 notes · View notes
stomygame · 1 year
Photo
Tumblr media
I want to go on a little segue to make something for #dcjam2023 so I’ve been putting together a template with raylib, cimgui, and physfs so I don’t have to waste time writing all of the boilerplate when the jam actually starts.
This here is a snippet of my Makefile, which I’ll be porting back to Ctesiphon and Turbostellar as well, to do a build with docker using the Steam Runtime environment instead of the local machine. Anyone who’s released binaries for Linux may be aware that glibc has completely non-existent forward-compatibility (one of the few things Linux does objectively worse than Windows). So if you build on Manjaro and someone tries to run on an older version of Ubuntu, odds are it just won’t work no matter what they try.
5 notes · View notes
digitalcreationsllc · 9 months
Text
New ‘Looney Tunables’ Linux Bug Gives Root Privileges on Major Distros
The flaw, introduced in glibc 2.34, highlights the severity and widespread nature of the vulnerability, emphasizing the need for immediate patching by system administrators.
View On WordPress
0 notes
unixbhaskar · 9 months
Link
0 notes
devsnews · 1 year
Link
Nowadays, Alpine Linux is one of the most popular options for container base images. Many people (maybe including you) use it for anything and everything. Some people use it because of its small size, some because of habit, and some, just because they copy-pasted a Dockefile from some tutorial. Yet, there are plenty of reasons why you should not use Alpine for your container images.
0 notes
cyber-sec · 5 months
Text
New Linux glibc flaw lets attackers get root on major distros
Tumblr media
Source: https://www.bleepingcomputer.com/news/security/new-linux-glibc-flaw-lets-attackers-get-root-on-major-distros/
More info: https://blog.qualys.com/vulnerabilities-threat-research/2024/01/30/qualys-tru-discovers-important-vulnerabilities-in-gnu-c-librarys-syslog
6 notes · View notes
Text
A thing I've been looking into at work lately is collation, and specifically sorting. We want to compare in-memory implementations of things to postgres implementations, which means we need to reproduce postgres sorting in Haskell. Man it's a mess.
By default postgres uses glibc to sort. So we can use the FFI to reproduce it.
This mostly works fine, except if the locale says two things compare equal, postgres falls back to byte-comparing them. Which is also fine I guess, we can implement that too, but ugh.
Except also, this doesn't work for the mac user, so they can't reproduce test failures in the test suite we implemented this in.
How does postgres do sorting on mac? Not sure.
So we figured we'd use libicu for sorting. Postgres supports that, haskell supports it (through text-icu), should be fine. I'm starting off with a case-insensitive collation.
In postgres, you specify a collation through a string like en-u-ks-level2-numeric-true. (Here, en is a language, u is a separator, ks and numeric are keys and level2 and true are values. Some keys take multiple values, so you just have to know which strings are keys I guess?) In Haskell you can do it through "attributes" or "rules". Attributes are type safe but don't support everything you might want to do with locales. Rules are completely undocumented in text-icu, you pass in a string and it parses it. I'm pretty sure the parsing is implemented in libicu itself but it would be nice if text-icu gave you even a single example of what they look like.
But okay, I've got a locale in Haskell that I think should match the postgres one. Does it? Lolno
So there's a function collate for "compare these two strings in this locale", and a function sortKey for "get the sort key of this string in this locale". It should be that "collate l a b" is the same as "compare (sortKey l a) (sortKey l b)", but there are subtle edge cases where this isn't the case, like for example when a is the empty string and b is "\0". Or any string whose characters are all drawn from a set that includes NUL, lots of other control codes, and a handful of characters somewhere in the Arabic block. In these cases, collate says they're equal but sortKey says the empty string is smaller. But pg gets the same results as collate so fine, go with that.
Also seems like text-icu and pg disagree on which blocks get sorted before which other blocks, or something? At any rate I found a lot of pairs of (latin, non-latin) where text-icu sorts the non-latin first and pg sorts it second. So far I've solved this by just saying "only generate characters in the basic multilingual plane, and ignore anything in (long list of blocks)".
(Collations have an option for choosing which order blocks get sorted in, but it's not available with attributes. I haven't bothered to try it with rules, or with the format pg uses to specify them.)
I wonder how much of this is to do with using different versions of libicu. For Haskell we use a nix shell, which is providing version 72.1. Our postgres comes from a docker image and is using 63.1. When I install libicu on our CI images, they get 67.1 (and they can't reproduce the collate/sortKey bug with the arabic characters, so fine, remove them from the test set).
(I find out version numbers locally by doing lsof and seeing that the files are named like .so.63.1. Maybe ldd would work too? But because pg is in docker I don't know where the binary is. On CI I just look at the install logs.)
I wonder if I can get 63.1 in our nix shell. No, node doesn't support below 69. Fine, let's try 69. Did you know chromium depends on libicu? My laptop's been compiling chromium for many hours now.
7 notes · View notes
cinnamonwolfy · 7 months
Text
portalinux day post :3
it has been a while, wow x3
before i start, i would like to let everyone know that i have been doing better, and i'm on track to get hrt. i also have realized that i may or may not be intersex. i still have to actually find that out officially. anyways, enough about me and on with the post :3
4 years ago today, i created pocketlinux version 0.01, the first version of portalinux ever made. it was a basic busybox glibc-based distro that crashed whenever you tried to turn off the os. since then, portalinux has changed a lot from its original form and its original purpose. i'm proud of what this little project has become, and i wish to continue working on it for the rest of my life ^w^
to celebrate this day, i have a list of portalinux project releases to update y'all with ^w^
pl-rt has finally gotten usable enough for it to work with pl-srv, and this release is version 0.06.1
as for pl-srv, it has finally been ported over to pl-rt, but here is the version now in portalinux, as i had to make a bandaid fix for it since i didn't want it to crash as often, and then i needed to fix that fix, since i screwed up a check it was doing
as for portalinux, this is the release that should be used, as the first RC1 release used pl-srv 0.04.1 instead of 0.04.2
but please also read the original RC1 release, i did put a lot of effort into it :3
anyways, that's it. i hope i can post more often, but there's no guarantees
3 notes · View notes
zeckma · 5 months
Text
glibc-2.39 has just released!
Tomorrow morning will be the start of my LFS streams! See you guys, then!
4 notes · View notes
qzvk · 1 year
Text
okay this is an interesting problem ive got: this code (under GCC 12.2.1) gets optimized into a call to `strlen`:
Tumblr media
and in almost all circumstances, thats exactly what gcc /should/ do. BUT for a couple reasons, this code can't be linked against glibc, so i just get an "undefined reference to `strlen`" error. which is no good
i can't disable optimizations since i need to keep the code small, so i need to signal to gcc to NOT perform this specific optimization. anyone know what i should be looking for?
9 notes · View notes
daemonhxckergrrl · 1 year
Note
void? lets fucking goo
musl? and have u ever tried bedrocklinux i use it to make void-musl a viable system to use for a job where i have to get proprietary shit running sometimes and is is very cool
glibc rn bc i wasn't quite ready for some of the weirdness (libc really does cause more problems than it prevents sometimes lmao)
i've not tried Bedrock but i've looked at it before and i wanna give it a spin in a VM to see what kind of frankenlinux i can make >:3c
part of me does wonder if that sort of thing (i mean it's basically containerisation but on a distro level right ?) and things like Nix are gonna be bigger in the future for deployments that would typically hit weird edge cases, are multi-role, or have very specific requirements.
we're slowly abstracting away the operating system as a concept
thanks for this, good to see another Void user !! <3
2 notes · View notes
snarp · 2 years
Text
Tumblr media
node: /lib/x86_64-linux-gnu/libc.so.6: version GLIBC_2.28' not found (required by node) nvm is not compatible with the npm config "prefix" option: currently set to "" Runnvm use --delete-prefix v18.12.1 --silent` to unset it.
Dear stackexchange, if I update Ubuntu my bad old computer, may die, how do I update GLIBC without (snarp has died now
7 notes · View notes
unixbhaskar · 10 months
Link
0 notes
fernand0 · 1 month
Link
0 notes