IRC channel logs

2021-04-12.log

back to list of logs

<damo22>i compiled mrustc, i need to fix the libstd for hurd target
<damo22>it produces pretty ugly C code, but i suppose thats expected
***Server sets mode: +nt
***Emulatorman__ is now known as Emulatorman
***TigerbotHesh is now known as Guest1608
<damo22>AliciaC: you might be interested in this https://github.com/thepowersgang/mrustc/pull/172
<AliciaC>damo22: I'm only trying it on GNU/Linux so far. Thanks though
<damo22>youpi: a friend of mine says LLVM is retargetting, therefore we should be able to feed rustc binary into rustc on GNU/Linux and output the GNU/Hurd rustc binary
<damo22>since you already added the hurd target
<damo22>to llvm
<damo22>i mean, recompile rustc using rustc and target the hurd platform
<damo22>on Linux
<youpi>yes, cross-compiling is possible with the rust toolchain
<youpi>that's what I had tried a few years ago
<youpi>but I guess everything I did at the time can be thrown away
<damo22>im compiling i686-unknown-hurd-gnu rustc
<damo22>but first it has to compile x86_64-unknown-linux-gnu rustc
<howto>hello
<damo22>good evening
<damo22>youpi: but you can even retarget the current compiler by specifying an alternative target-json spec file
<damo22>i dont think you have to cross compile a new compiler just to do that
<howto>i would like to understand how gnu mach is working. So for that i think i wouuld need a graphical diagram. I mention before hands that i am a noob.
<howto>so as a second question. Is there a basic implementation of gnu mach for the 8051? Iknow i am asking much but i want to know what is available for the real open hardware first. Thank you.
<howto>as a 3rd question...what powerfull platform similar to rasberry pi but truly blob free does exist on the market right now as an alternative to the very basic 8051?
<damo22>youpi: for example, `rustc -Z unstable-options --target=x86_64-unknown-linux-gnu --print target-spec-json`
<howto>is there a way to implement gnu mach on a 8051
<howto>?
<howto>is there an embedded implementation of hurd on a platform that is completely open to be easier to learn it?
<howto>do we have a gnu-mach expert here?
<howto>can gnu mach / hurd be installed on a beagle bone black?
<damo22>howto: use qemu-system-i386
<damo22>its an emulated platform
<damo22>its easier to debug since you can inspect the "hardware" registers during runtime
<damo22>you can also run it as a gdb remote target
<howto>damo22 i have absolutely nowere to begin with as i said at te beginning i am a total noob that tries to change the universe. Can you guide me towards some video tutorials that talk about gnu mach?...I run ubuntu so...debian i guess.
<damo22>search the web for videos on hurd
<damo22>there were some good ones on fosdem iirc
<howto>damo22 I suspect if i search for hurd videos, at one point tey will lead to the gnu mach rabbit hole which i am after right?
<damo22>howto: gnumach is the kernel of hurd
<damo22>but there arent videos dedicated just to the kernel
<howto>i suspected as much. since i am fiddling with microcontrollers i would have liked to implement it in one. that is why i asked about gnu mach.
<youpi>gnumach doesn't really have much particular
<youpi>read the minix book, and that'll teach you plenty :)
<youpi>once you know well about minix, transposing to gnumach will be very easy
<howto>youpi that rabbit hole is tainted with tannenbaum licensing as you know.Do not want to touch that.
<howto>from what i know minix is still under eula license
<youpi>licensing doesn't tell anything about what you read
<youpi>minix is not meant for use
<youpi>it's meant for teaching
<damo22>youpi: when interrupts happen on x86_64 i heard there is a chance the stack can be corrupted in the "red zone"?
<youpi>(even if intel happens to use it)
<youpi>damo22: ah yes interrupts *have* to be handled on another stack
<youpi>otherwise you'd overwrite the redzone
<damo22>ah
<howto>i would like to implement gnu mach on a 8051 platform just to see it working
<youpi>howto: so whatever the license, do read the minix book
<damo22>so do we have a separate stack in gnumach for interrupts?
<youpi>there's a mechanism for some of it yes
<youpi>see the intstack variable
<youpi>I don't remember whether it's used only for when cpu is running userland, or for kernelland also
<howto>damo22 google gives me mach 3 cnc program. I need a few intial links to some videos that talk about gnu mach youpi you can help too if you want to.Thank you.
<youpi>s/want to/have the time to/
<youpi>I don't have time to
<youpi>really, read the minix book, that's meant for it
<youpi>there is no need to make videos about gnu mach itself when there are already books about microkernels
<youpi>there are probably some books on the cmu mach and such
<damo22>rust-libc is a pain to port, its a reimplementation of the system calls
<youpi>which will just be exactly fine for gnu mach
<youpi>damo22: yes
<damo22>arggh
<howto>you really want me in jail at some point youpi :)
<youpi>see my complains in the lwn article about rust's "portability"
<youpi>damo22: basically they said that you could use a .h compiler
<howto>damo22 any opinions?
<youpi>you "compile" #include <stdio.h> into rust source code
<youpi>(rust declarations)
<youpi>howto: jail? why?
<youpi>damo22: see https://lwn.net/Articles/845535/
<howto>youpi minix seems to be sublicensed to microsoft and intel.Microsoft is proved to be lawyer happy and people got into jail for less.
<youpi>for reading a book?
<howto>when you read the book you involuntary copy ideas and examples. That leads to jail time.
<youpi>a large part of nowadays' engineers have read the minix book
<youpi>you can't put them all to jail :)
<youpi>and no, copying ideas is not protected by copyright
<howto>they risk it. I do not want to especially when i do free work.
<youpi>even copying a standard interface is not, as the courting between Oracle and Google explains
<damo22>thank god for that
<youpi>"they" ?
<youpi>really
<youpi>ask engineers
<youpi>make a survey to see how many have read the minix book
<howto>so on this hurd channel...does someone have any links to some videos about the functuioning of hurd and gnu mach? Pretty please?
<youpi>anyway if you don't want the minix book then fine, read the OS book of Tanenbaum
<youpi>that'll already teach you plently, without any EUAL
<youpi>howto: hurd.gnu.org
<youpi>like a dozen videos
<howto>it the same dang it stop corrupting me :)
<youpi>corrupting?
<youpi>with the very things that got me knowledged enough to work on the hurd and present what I presetned in the videos?
<howto>i will check the gnu.org
<youpi>if you have any doubts, then don't watch the videos from hurd.gnu.org, because they'd be "infected" by my knowledge of minux
<youpi>really, stop thinking that reading a book can put you to jail
<youpi>that's just nonsense
<youpi>if tanenbaum didn't want people to apply his ideas, he wouldn't have written those books
<youpi>and no, I don't intend to produce videos that just repeat what tanenbaum wrote in his books
<youpi>people have to just read the damn literature
<youpi>that's how things can work
<damo22>i need to buy some of those books soon
<Pellescours>me too
<youpi>you also have the bovet+cesati "the linux kernel" book which is very good
<youpi>yes it's about a "monolithic" kernel, but baiscally 90% which is there applies to microkernels equally well
<howto>so a question from the beginning..can hurd be installed on a beaglebone black?
<damo22>no theres no arm port
<damo22>yet
<howto>well the idea with the beagle bone was that it should be easy. beacause no blobs are present on that specific chip.So hurd colud run free of charge and unhinged on the platform.
<damo22>lets make it work on x86 first
<damo22>because most of the work is done
<damo22>when it works really well and has more drivers, more people will be interested to port it to new ISAs
<howto>damo22 what is the problem on x86? i thought that in 30 years everything was solved on that.
<youpi> https://www.gnu.org/software/hurd/faq/so_many_years.html
<damo22>the problem is that there are still legacy drivers in the kernel which i am trying to remove and move everything to userspace
<damo22>we've almost got disk driver out of the kernel completely
<howto>are you guys document the things you are doing regarding to hurd somewere? do you people have any youtube channel or alternatives to that?
<damo22>i hardly have time to write code let alone make super impressive videos
<damo22>but some people give talks at conferences
<howto>damo22 just leave the camera running. i do not need super impressive videos. I know the job is hard enough.
<damo22>what camera?
<howto>oooh :)))
<damo22>actually my phone camera is borked
<howto>damo22 or desktoop capture device or something
<damo22>not going to be very interesting watching my face look at the screen while i code
<howto>that's brutal :))) sorry i asked :)
<damo22>lol
<howto>about the broken phone camera i mean
<howto>i need a diagram of gnu mach. i need to know what are its components to try to implement it on a 8051 i have a vague idea what user space is
<damo22>youre better off downloading the qemu image and playing with it in qemu
<damo22>thats how i got started
<damo22>it runs debian/hurd and you can check out the source and read it
<howto>damo22 i wouldnt know how to play with it if i do not find any tutorials.
<damo22>are you familiar with unix-like shells?
<howto>little with terminal from ubuntu that's it.
<damo22>it works the same way as your ubuntu terminal
<Gooberpatrol66>correct me if i'm wrong, but isn't the 8051 8-bit? I don't think that you will get GNU running on anything below 32-bit
<damo22>as in, the shell commands
<howto>i suspect its called bash or bsh?
<damo22>yeah bash runs on hurd
<howto>thats how i am usually forced to install an app on ubuntu :)) the horror :))
<damo22>good luck i gtg to sleep
<howto>that runs on beagle bone black too but it is a debian
<damo22>link to the image should be in the topic above
<howto>goodnight damo22 will see you some other time
<youpi>howto: avoid expecting that there will be any tutorial to get into existing free sofware code, there are usually none
<youpi>at best you can hope that there are comments
<youpi>but in the case of kernels, you do have the literature which provides you with the big picture
<damo22>from my experience, you learn coding by doing
<youpi>coding, yes
<youpi>but understanding stuff, it's simpler to read a few books first
<damo22>yep
<howto>youpi i will check the video confferences i found on youtube for now. i hope something on my learning curve linking will show up
<howto>atleast at first
<howto>the idea is that iwant to do something about the situation and it seems i cant...for now
<youpi>do you know C ?
<youpi>do you know assembly ?
<howto>c... a little.... assembly...what i learned for mcus....that is why i mentioned 8051 at the beginning
<damo22>youpi: i have a fairly simple C program i compiled on the head node at work, but when i run the exact same binary on one of the cluster nodes, it segfaults. Could it be some -O2 optimisation that isnt supported on the other node? but the head node has less cpu features
<youpi>-O2 doesn't mean using more instructions than the standard ISA
<youpi>but if you also used -march=native that can lead to an illegal instruction
<youpi>a segfault, however, is surprising
<youpi>looking at what the exact segfault is could tell you
<damo22>yeah, i will investigate with gdb
<damo22>tomorrow
<youpi>it could be that on the cluster node you don't have /tmp/
<youpi>and you have an fopen() without return check
<youpi>and thus it's fread() that segfaults
<youpi>stuff like that
<damo22>oh wow
<damo22>thats a good point
<damo22>thanks, goodnight
***jorts is now known as nckx
***cbaines_ is now known as cbaines