<epony>
Android will be less trashy when it becomes fully open and a real OS
koolazer has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
<ghostbuster>
are there any channels on libera where asking questions about chromebook / chromeos is on topic
<epony>
maybe, I'd check the community support resources on the official home pages of those
<epony>
in the meantime, we can replace these with a free and open system like that but with better design and implementation
nyah has quit [Quit: leaving]
epony has quit [Ping timeout: 268 seconds]
bgs has quit [Remote host closed the connection]
terminalpusher has quit [Remote host closed the connection]
Burgundy has quit [Ping timeout: 260 seconds]
<kaichiuchi>
hi
diamondbond has joined #osdev
epony has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
gog has quit [Ping timeout: 272 seconds]
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
spikeheron has quit [Quit: WeeChat 3.7.1]
heat has quit [Ping timeout: 260 seconds]
diamondbond has quit [Quit: Leaving]
dutch has joined #osdev
captnemo has joined #osdev
<zid>
Finally googled my chrome bug to see if anyone had a fix
<zid>
it's just been outstanding since 2019
ephaptic has joined #osdev
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
ephaptic has quit [Quit: WeeChat 3.7.1]
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
captnemo has quit [Quit: WeeChat 3.7.1]
epony has quit [Read error: Connection reset by peer]
bgs has joined #osdev
epony has joined #osdev
<mats2>
is there a pragmatic reason why at&t syntax is popular
<mats2>
or at least, beloved by its adherents in e.g. foss, when intel syntax is important because of the intel manual
xenos1984 has quit [Read error: Connection reset by peer]
xenos1984 has joined #osdev
<epony>
The Latin Roman Catholic X masse II in old style for the funeral of Pope Emeritus Benedictus XVI proceeding at the moment on a television near you..
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
danilogondolfo has joined #osdev
<Mutabah>
mats2: becuase GNU as uses it, due to historical reasons
<Mutabah>
and people like using a single set of tooling, so stick with gas's default
gog has joined #osdev
gog has quit [Client Quit]
k0valski18891 has quit [Ping timeout: 246 seconds]
<HeTo>
I imagine it’s a lot simpler to write generators for than Intel syntax if you’re writing something that generates textual assembly
<HeTo>
you don’t have to worry about someone naming a global variable rax
chartreuse has quit [Remote host closed the connection]
<moon-child>
it is exactly as easy to write generators for if you're writing something that generates textual assembly
<HeTo>
moon-child: is it? well let's talk about 32-bit x86 since I'm more familiar with the addressing modes that offers. let's say you have a global variable named eax and you want to add its value to the value in register ebx. I'm (ironically for this) more familiar with Intel syntax, so I don't know if this is correct, but I think in AT&T syntax this would be addl (eax), %ebx. how do you write it in Intel syntax?
<HeTo>
add ebx, [eax] would add the value at whatever address register eax happens to point to
<moon-child>
intel is more fragmented. You'd need some kind of escape
<moon-child>
I my assembler, I use backticks. This also allows encoding symbol names which are empty or have punctuation, spaces, etc., which you also can't encode with at&t (without an escape)
<\Test_User>
simply don't name a variable eax? :P
<moon-child>
64-bit addressing modes are basically the same. You get rip-relative addressing and lose a couple of segment registers. And there are a couple of edge cases you mostly don't have to worry about (and which might also apply to 32-bit, don't remember)
<HeTo>
\Test_User: well, it's a valid identifier for a global variable in C, for example
<\Test_User>
sure, don't name it eax in the C parts of your code either
<\Test_User>
and if you really want, #define eax <real variable name>
<HeTo>
\Test_User: you don't get to make that decision for your users if you are writing a C compiler. it's a valid identifier and so if someone has a variable with that name and your compiler can't compile that code or worse, miscompiles it, your compiler is broken
pog has joined #osdev
<\Test_User>
ahhh right I see... inline asm with intel syntax... yeah true
<\Test_User>
actually no, that shouldn't... even inlune asm is stuck in a string
<moon-child>
HeTo: this is an abi problem, not a language problem. You could mangle, for instance. I maintain that the proper solution is to have an escape, though
<\Test_User>
compiler shouldn't barf over it
k0valski18891 has joined #osdev
<HeTo>
not even inline assembly, just a C compiler that targets Intel syntax assembly language for x86
<\Test_User>
you mean generating assembly straight from C? iirc gcc has a switch to output intel syntax, could dump that and see what it makes
<moon-child>
iirc it generates garbage
<pog>
it generates garbage for specific instructions sometimes
<pog>
i can't recall which
<\Test_User>
mov eax, DWORD PTR eax@GOTOFF[eax]
<\Test_User>
not entirely sure but that seems to be an attempt to move the variable eax to the register eax...
<\Test_User>
does have an `eax:` as well as a `.globl eax`, so variable is named properly from the outside
<\Test_User>
...assuming your assembler actually accepts that
<HeTo>
I don't think I quite understand that syntax (and maybe it's garbage), but GOTOFF sounds like it might be PIC or PIE?
<\Test_User>
ah right yes
<\Test_User>
mov eax, DWORD PTR eax
<\Test_User>
probably garbage output from gcc at this point
<\Test_User>
looks like gcc barfs over its own assembly output trying to assemble it even
GeDaMo has joined #osdev
bgs has quit [Remote host closed the connection]
Left_Turn has joined #osdev
Turn_Left has quit [Ping timeout: 268 seconds]
terminalpusher has joined #osdev
Starfoxxes has quit [Ping timeout: 264 seconds]
vinleod has joined #osdev
bauen1 has quit [Ping timeout: 268 seconds]
vdamewood has quit [Ping timeout: 260 seconds]
pog has quit [Ping timeout: 260 seconds]
vinleod is now known as vdamewood
nyah has joined #osdev
Burgundy has joined #osdev
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
Starfoxxes has joined #osdev
Starfoxxes has quit [Max SendQ exceeded]
Starfoxxes has joined #osdev
<phr3ak>
what is the difference between PIC and PIE?
d5k has joined #osdev
bauen1 has joined #osdev
d5k has quit [Quit: Lost terminal]
joe9 has joined #osdev
<Mutabah>
I think they're interchangable mostly...
<Mutabah>
but afaik, PIC is about the code, PIE is about the infrastucture in the executable format that allows PIC to work fully
<phr3ak>
far as I remember gcc generates different code with -fPIC and -fPIE
eroux_ has joined #osdev
eroux has quit [Ping timeout: 252 seconds]
eroux has joined #osdev
pog has joined #osdev
<pog>
pog
eroux_ has quit [Read error: Connection reset by peer]
xenos1984 has quit [Read error: Connection reset by peer]
<sham1>
gop
<pog>
Gog Output Protocol
<Ermine>
pgo
<Ermine>
Profile Gogged Optimization
<HeTo>
AFAIK PIC is position-independent code that can be used in shared libraries, PIE is a light form of position-independent code that's only usable for the main executable (for ASLR purposes) and doesn't allow including the code in a shared library
xenos1984 has joined #osdev
dude12312414 has joined #osdev
<kof123>
surely code is data and data is code, and these are "REALLY" just forms of PID </strokes white cat in a villian like manner>
dude12312414 has quit [Quit: THE RAM IS TOO DAMN HIGH]
Burgundy has left #osdev [#osdev]
<pog>
code is code and data is data. saying otherwise is woke madness
<kaichiuchi>
amazing…
<kaichiuchi>
my dual monitor stand has failed
<pog>
oops
<GeDaMo>
Hopefully the monitors were not damaged
<kaichiuchi>
they weren’t
<kaichiuchi>
but… i woke up to that.
pie_ has quit []
vancz has quit []
pie_ has joined #osdev
vancz has joined #osdev
pie_ has quit [Client Quit]
vancz has quit [Client Quit]
vancz has joined #osdev
pie_ has joined #osdev
bgs has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
invalidopcode has quit [Remote host closed the connection]
Turn_Left has joined #osdev
invalidopcode has joined #osdev
Left_Turn has quit [Ping timeout: 264 seconds]
<sbalmos>
but code identifies as data. and isn't user-entered data code?
<kof123>
all i know is there is a magical salamander lambda on the SICP cover and i will follow whatever it decides
Nixkernal has joined #osdev
bauen1 has quit [Ping timeout: 252 seconds]
bauen1 has joined #osdev
* pog
beats redis with a bat
<pog>
REMOVE MY CACHE KEYS
<CosmicBitch>
oh god i have to work with redis next month
<CosmicBitch>
i can still quit before that
<pog>
i finally got it running locally because a thing i did didn't work and i did not understand why
<CosmicBitch>
im still in my probation period
<pog>
i do understand why it didn't work
<CosmicBitch>
2 weeks notice an dim gone
<pog>
now i don't understand why it continues to not work lol
<CosmicBitch>
F
<pog>
baby steps toward a solution
<zid>
disregard work, acquire kittens
<pog>
mew
<Ermine>
pog: may I pet you
<pog>
yes
* Ermine
pets pog
<pog>
prr
<pog>
brb
pog has quit [Quit: Client closed]
invalidopcode has quit [Remote host closed the connection]
invalidopcode has joined #osdev
heat has joined #osdev
nur has joined #osdev
xenos1984 has quit [Ping timeout: 246 seconds]
bauen1 has quit [Ping timeout: 252 seconds]
xenos1984 has joined #osdev
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
terminalpusher has quit [Remote host closed the connection]
terminalpusher has joined #osdev
smach has joined #osdev
Burgundy has joined #osdev
bauen1 has joined #osdev
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
xenos1984 has quit [Ping timeout: 260 seconds]
<kaichiuchi>
for fun i've been playing with autotootls
<kaichiuchi>
autotools
<kaichiuchi>
i never want to do that again
<zid>
'fun'
CosmicBitch is now known as irusya
puck has quit [Excess Flood]
puck has joined #osdev
xenos1984 has joined #osdev
captnemo has joined #osdev
gog has joined #osdev
<gog>
hi
<kaichiuchi>
zid: fun
<kaichiuchi>
i can only conclude that people are insane
<gog>
yes
<heat>
kaichiuchi, where's the fun
<heat>
"for fun I've been playing with autotools" has the same spirit as "for fun in 1923 I aided the beer hall putsch"
wxwisiasdf has joined #osdev
<wxwisiasdf>
Hello kerneldev laissez-faire chalantly succintly portmanteau people :D
<wxwisiasdf>
Today is a good 3:54 AM
<gog>
hi
<wxwisiasdf>
hi gog
GeDaMo has quit [Quit: That's it, you people have stood in my way long enough! I'm going to clown college!]
<kaichiuchi>
i only installed nano to demonstrate that vim in particular is acting wacky with alacritty
<kaichiuchi>
because xterm works
<kaichiuchi>
.
<epony>
these are applications of screen addressing libraries
<epony>
the screen addressing libraries use the terminal emulator
<Ermine>
Konsole works too
<kaichiuchi>
the year of the linux desktop where pasting completely shits the bed, something microsoft solved before I was born
<epony>
vttest might be used to demonstrate these too (it's a tool from the xterm validation accessories)
<epony>
but at what cost is it solved ;-)
<Ermine>
kaichiuchi: it works everywhere except alacritty+vim
<kaichiuchi>
oh you were able to reproduce it on alacritty?
<Ermine>
No
<epony>
if you think browsers and cryptolocker worms do not share your clipboard and use it to steal your wallets etc, and if that is not the dirtiest of many dirty tricks..
<bslsk05>
codeberg.org: dnkl/foot: A fast, lightweight and minimalistic Wayland terminal emulator - foot - Codeberg.org
<Ermine>
Not that I'm happy with it
<kaichiuchi>
sorry, i'm... a little cranky
<epony>
just check out what OLE and RPC is in the Windows land and what grief it has brought to their useds
<Ermine>
Why all these terms provide their own color schemes instead of default linux one...
<epony>
ranging from single address space / privilege model to "reuse of shared libraries" functions between applications and hijacking shared resources, at all levels
<kaichiuchi>
also I'm actually trying to learn how to use vim
<Ermine>
Use vimtutor
<kaichiuchi>
people who master vim are wizards
<kaichiuchi>
ah didn't know about this
<epony>
Windows is the continuation of DOS in that regard, not much isolation and privilege until much abuse of that has resulted in decade long suffering of solving it without a solution in place ever in the meantime
<epony>
but you have a nice copy paste drag and drop that sometimes crashes your OS too
<epony>
you see an application fault, and close it, but then your system misbehaves slightly here and there ;-)
mahk has joined #osdev
<epony>
remember that bed lining..
<epony>
nostalgia is good but short memory, not that much
<Ermine>
kaichiuchi: I'm not happy with how copy/paste works with terminal on windows tbh.
<kaichiuchi>
yeah I will admit for a terminal it's kludgy on windows
<kaichiuchi>
*BUT*
<kaichiuchi>
it doesn't just outright fail or garble shit up
<epony>
until a malware takes that to the next level
<kaichiuchi>
currently someone on #vim is astounded and is trying to reproduce this with a freshly built alacritty
<kaichiuchi>
so we're about to see if somehow something is fucked on my end or not
<kaichiuchi>
i hate everything
<epony>
"WIN/DOS" is so fast, until you add on the anti-virual tooling
<epony>
can't compensate for the missing isolation and privilege separation model in the system and applications, but it will weigh in on your data processing and.. be disabled for speed reclaimmation
<epony>
yay for copy-pasting, you have more than one machine because you have to isolate your work contexts now, how do you copy paste between them, oh right, the networking sucks too
<epony>
and gradually WIN/NT started adding it
<epony>
but it does not work in the line of solid and reliable isolation and security model, due to legacy and shared libraries artefacts, and same execution level in the context of the user
<epony>
that's rougly where Linux desktops are too
<epony>
lacking that refined model of cross application privilege / control on the shared bus (message passing objects)
bgs has quit [Remote host closed the connection]
<epony>
with slightly less "coherent" application level support for the desktop services but forced requirements and common shared libraries give them that "system (desktop / library space) wide capability improvements"
<epony>
Windows is better integration.. for the applications that come from the operating system authoring group ;-) and that has a lot of legacy and weight too
<epony>
so huge complexity and no options to choose from, no other desktop, and kernel integration.. what can possibly go wrong.. other than Linux adopting same practices ;-)
<epony>
people confortable with the GUI shells do not realise it's the "small" part of the system, rather than the entire system, and only that is exposed with no alternatives, same effects in MacOS
<epony>
Google tries to "advance this forward" but is in the files and data formats and "internal transport of data between its own applications in their services" model
<epony>
these all are available in Unix-like systems too, only not that uniform until you fall into the desktop overlay areas
<epony>
so KDE applications technically can do it between each other, if they are.. following through that functionality, same for Gnome etc, and even between them if they shared message bus and remote procedure calls / object sharing similar services
<epony>
it their such services are compatible
<epony>
now, how is that going to happen between Linux desktop Windows desktop and Google desktop computers ;-)
<epony>
oups, we've reached the different contexts of work / tasks sets per computer again
<epony>
so you enter naively the incompatible services networks externalised to your computer though middle depots you call the "cloud" or more appropriately called the "could" if they paid
<epony>
through intermediate services is your functionality achieved "somewhat" at a great cost and risk and dependence at the same time
<epony>
that's the greatest achievement of malware and cryptolockers, pushing people into the cloud, now think about that next time your ponder who was releaseing the malware and defects in software all these 40 something years
<epony>
some convenience at a great centralisation of data and computing server farms, which routinely do other work, except yours and against others small peers like you, to push them to participate
<epony>
and you thougth batch processing was a thing of the past, submitting your deck of cards to the central compute department
<epony>
;-)
Gooberpatrol66 has quit [Quit: Leaving]
<kaichiuchi>
oh my god
<kaichiuchi>
I think the vim package is busted on arch
captnemo has quit [Quit: WeeChat 3.7.1]
<kaichiuchi>
maybe?
<epony>
for quick life saver edits nvi2 is a text variant vi-like with wide character support
Gooberpatrol66 has joined #osdev
<kaichiuchi>
installing gvim gave me significantly more progress
<epony>
supposedly that leaves the terminal emulator and screen addressing library artefacts and replaces them with the desktop graphical toolkit widgets
<epony>
the object linking and embedding and remote procedure calls and message and object passing might be missing and file and directory (and network mount) monitoring parts will come at a slight overhead cost ;-)
<epony>
how about remote file editing..?
<epony>
does it go over SSH and other transports to edit files on other machines yet..
vdamewood has quit [Remote host closed the connection]
vdamewood has joined #osdev
bxh7 has joined #osdev
<heat>
i don't see why the vim package would be busted on arch
<bslsk05>
en.wikipedia.org: The Secret (Byrne book) - Wikipedia
<zid>
"no" would have done babe
wxwisiasdf has joined #osdev
<wxwisiasdf>
So I am making an OS in java but the JVM i wrote is in C
<wxwisiasdf>
this feels like cheating
<wxwisiasdf>
It's not fullfilling - i must find a way to make a pure java kernel
<\Test_User>
make a CPU that executes java bytecode or you won't be able to do it in pure java?
<heat>
wxwisiasdf, stop
<heat>
also JAZELLE
<wxwisiasdf>
\Test_User: or use GCC java frontend for doing native things, however i would have to rewrite it in c
<zid>
\Test_User: why make when you can buy?
<\Test_User>
they already exist? buy then yes
<\Test_User>
well, ig I shouldn't be too surprised about them existing
<wxwisiasdf>
heat: this java os is for sh4, not arm
* CompanionCube
pokes Singularity with a stick
<CompanionCube>
dunno how 'pure' that was
<heat>
wxwisiasdf, stop picking weird thigns
<wxwisiasdf>
heat: why
<heat>
because it's weird
<kaichiuchi>
you're weird
<CompanionCube>
anyway, the obvious trick is to write Java that's expressible as C or sh4 assembly :p
<wxwisiasdf>
am I a weird gal? :(
<ZombieChicken>
sh4?
<wxwisiasdf>
sh4 is dreamcast cpu
<wxwisiasdf>
but i hate dreamcast
<wxwisiasdf>
i love virtio tho
<ZombieChicken>
custom made CPU?
<wxwisiasdf>
no :>
<wxwisiasdf>
I don't have budget for that
<ZombieChicken>
ok
<CompanionCube>
(optionally also rewrite your JVM in this java-expressible-as-C, this is how the Squeak Smalltalk VM works)
<wxwisiasdf>
that might work...
<wxwisiasdf>
but the problem is finding a java toolchain that would generate java bytecode to assembly.... oh wait
<wxwisiasdf>
maybe i could write my own, but i want to know if there are existing alternative before diving deep onto it
<CompanionCube>
does gcj do sh4?
<wxwisiasdf>
No :D
<wxwisiasdf>
well yes, but GCJ is broken beyond repair on anywhere non-x86_64
<CompanionCube>
ah
<wxwisiasdf>
I might be able to acquire a debian VM to compile my sh4 inside it since there might be a gcj for sh4 on debain repos, however gcj require specific glibc and will break when it's introduced to a modern system
<gog>
kaichiuchi: iirc it's a reservoir for the gut flora
<kaichiuchi>
something like that, yes
<gog>
and that there's studies about bowel disease and appendectomies