gorgonical has quit [Remote host closed the connection]
wootehfoot has quit [Read error: Connection reset by peer]
nanovad has quit [Ping timeout: 248 seconds]
pog has quit [Ping timeout: 265 seconds]
nanovad has joined #osdev
<mcrod>
it is quiet.
<jjuran>
was
<heat>
NOISE
<heat>
im too busy autogenerating C++ source from json
<heat>
sorry
oac has quit [Quit: oac]
<mcrod>
i'm trying to figure out why this stupid toolchain script is working fine on linux, but not mac
<mcrod>
i'm also convinced that CMake is the most poorly designed piece of shit on the earth
rnicholl1 has joined #osdev
<heat>
you said it was great like 3 days ago
<mcrod>
wise people are open to changing their minds in the face of new information
<mcrod>
basically I'm bitching about the fact I need to patch CMake's own CMakeLists.txt when compiling CMake so it can use lld instead of ld for speed
<heat>
ok so it's your problem
<heat>
brilliant
<mcrod>
no it isn't
<mcrod>
the intuitive thing to do, -DCMAKE_LINKER:STRING="lld" does not work as one might expect.
<mcrod>
if nothing else, that should pass -fuse-ld=lld to clang
<heat>
LDFLAGS="-fuse-ld=lld" cmake
<mcrod>
does that actually work
<heat>
yes
<mcrod>
jesus christ, it does.
<mcrod>
this is why i love you
<mcrod>
and why you are loved among us
<mcrod>
<3
<heat>
<3
<heat>
i'm fairly sure gn and bazel are like the only ones that ignore the typical CFLAGS stuff
<heat>
because google or something idk, im not paying attention
<mcrod>
in a perfect world, you could configure everything yourself, and still get the nice CMake goodness
<mcrod>
I've seen people bitch whenever I add -pipe to the build flags, because "you're not supposed to change the build flags"
<mcrod>
and I am puzzled by these people, puzzled I tell you
<heat>
to what build flags?
<mcrod>
any, whether global or target based
<mcrod>
e.g. target_compile_options(heatdidntfeedthecat PRIVATE -pipe)
<mcrod>
"you can't do that! that's compiler specific stuff!!!!!!"
<heat>
that looks silly to add
<heat>
but i dont speak cmake soo
<heat>
like, traditionally, you take whatever's in the environment, and only add what you REALLY need
<mcrod>
i mean, i'd prefer -pipe to be a global thing, because the compilation is a little tiny bit faster
<heat>
larger projects find this hard as fuck to use, so you have gn or bazel that *completely* ignore CFLAGS and stuff, and give you switches you can pass at build time
<heat>
also Kconfig, Kconfig works similarly
<heat>
you do not *need* -pipe to compile your project though, so unless the change is massive i would omit that
<mcrod>
I also don't *need* -Wall to compile the project either
goliath has quit [Quit: SIGSEGV]
<mcrod>
but to your argument, -Wall is kinda massive
<heat>
Wall is substancial
<heat>
stuff like Werror isn't and is actively harmful when deploying
mi7 has quit [Read error: Connection reset by peer]
Left_Turn has quit [Read error: Connection reset by peer]
<jjuran>
-Werror is a great way to have your code break on a compiler that is perfectly capable of compiling it as you intended
mi7 has joined #osdev
[itchyjunk] has quit [Ping timeout: 246 seconds]
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
Griwes has quit [*.net *.split]
Griwes has joined #osdev
<sham1>
Just don't write warnings
rnicholl1 has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
night has quit [Ping timeout: 248 seconds]
Arthuria has joined #osdev
heat has quit [Read error: Connection reset by peer]
heat_ has joined #osdev
GeDaMo has joined #osdev
heat_ has quit [Ping timeout: 255 seconds]
[itchyjunk] has joined #osdev
[itchyjunk] has quit [Remote host closed the connection]
rnicholl1 has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
night has joined #osdev
slidercrank has joined #osdev
freakazoid332 has quit [Ping timeout: 265 seconds]
wootehfoot has joined #osdev
Arthuria has quit [Ping timeout: 260 seconds]
rnicholl1 has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
rnicholl1 has joined #osdev
wootehfoot has quit [Ping timeout: 255 seconds]
immibis has joined #osdev
wootehfoot has joined #osdev
rnicholl1 has quit [Quit: My laptop has gone to sleep.]
gmacd has joined #osdev
vdamewood has joined #osdev
gmacd has quit [Ping timeout: 240 seconds]
xenos1984 has quit [Ping timeout: 248 seconds]
xenos1984 has joined #osdev
xenos1984 has quit [Ping timeout: 255 seconds]
Patater has quit [Quit: Explodes into a thousand pieces]
DrPatater has joined #osdev
xenos1984 has joined #osdev
gmacd has joined #osdev
gmacd has quit [Ping timeout: 255 seconds]
Brnocrist has joined #osdev
clever has joined #osdev
vdamewood has quit [Quit: Life beckons]
novasharper has quit [Remote host closed the connection]
smach has joined #osdev
smach has quit [Client Quit]
bauen1 has joined #osdev
Slex has joined #osdev
<Slex>
hello guys i need a little help
<Slex>
i'm trying to resurrect the mach kernel, variant osf mach, the one used by osf and apple to build mac os. Actually i got it built, because another dude before me worked on it, the kernel support the multiboot
<Slex>
and effectively i can boot it from grub or qemu directly.
<Slex>
the problem is that it stops during the build and i'm truing to debug it via gdb remotely, but for some reason gdb is searching for a wrong file. it searches for locor.s instead of locore.S
<Slex>
locore.s* sorry
bauen1 has quit [Ping timeout: 255 seconds]
<Slex>
effectively the dude that worked before me changed the file name from locore.s to locore.S. i build it with -g option, how to instruct gdb to search for locore.S instead locore.s?
bauen1 has joined #osdev
Vercas1 has quit [Remote host closed the connection]
Vercas1 has joined #osdev
<Slex>
sorry i did write wrong, it doesn't stop during the build. the build process is ok. it stops during the boot.
<zid>
.s vs .S is assembly vs needs to be preprocesed assembly, typically
<zid>
and the build script should deal with it
<zid>
so not sure what this has to do with boot
<zid>
unless mach is assembling stuff at boot time
<Slex>
no i don't think it is assemblig stuff at boot time, i can put breakpoints on the pentry. the problem is that when i give the list command in gdb, it searches for locore.s and say doesn't exists, and that's true bercause it is locore.S. i think should be a way toi fix this and making it stops for seacheng locore.s. it porblavbly comes from the compiler putting it in the debug symbols?
<Slex>
maybe still reading something old in the build script. makefile
<zid>
yea that's just it not being able to give source listings
<Slex>
exatly
<zid>
I'd just ignore it, it likely never worked
<Slex>
i need this to solve the main problem. it seems is wrongly mapping the ram. well probing then ram muchmore mapping. it says the available physiucal space is from 0x101000 to 0x100000
<Slex>
that is just 4kb
<Slex>
.
<Slex>
and it stops to run indeed
<zid>
it's assembly though, and you know which file it's from
<zid>
you don't need the source, gdb can disassemble just fine
<Slex>
ok
<Slex>
if a reach the goal to make it boot at all i will setup a proper repo on github
<immibis>
i happened to notice that people treat file-and-directory systems as a law of physics and the youngsters are stupid for not understanding them because they are accustomed to systems without them
<GeDaMo>
Systems where they're hidden
greg0lord has joined #osdev
greg0lord has quit [Client Quit]
<nikolar>
zid, wait how does it work without main
frkazoid333 has joined #osdev
<nikolar>
oh i am stupid never mind
<GeDaMo>
Codeless code :P
<nikolar>
lol yea
foudfou has quit [Remote host closed the connection]
foudfou has joined #osdev
<zid>
You'll find very few .c or .s files have a main in them, infact?
<mcrod>
zid: my cousin is over, and pointed to your name and said "is that invader zim"
<zid>
Yes, I am invader zim, you can tell because I am both a cartoon and my name is spelled zim
<zid>
(invader zim is a cartoon right?)
<mcrod>
yes
<sortie>
no it's irl
<zid>
I was too old by the time it started airing to have watched it I think
<bslsk05>
mywiki.wooledge.org: BashFAQ/035 - Greg's Wiki
<mcrod>
i hate you
<mcrod>
you're the anti everything I've been in #bash for
<mcrod>
:(
<mcrod>
"and it works fine because I've been putting the staging/target directory the same folder as toolchains during my testing" - so when you're in the staging directory, `../cmake` is a thing
<heat>
in no way shape or form do people expect utils to not support "prog undashed_arg --option -a"
<heat>
in 20-fucking-23
<heat>
manually parsing options????
<zid>
getopt for life
<sham1>
Underscores are fine. It's the spaces that get you
<heat>
>Argbash is a simple-to-use yet feature-rich code generator that can either generate the parsing code for your script, tailor-made.
<heat>
oh yes, a code generator for argument parsing in my 100 line script
<zid>
but maybe we don't need that? cus we only print.. f_v something
<GeDaMo>
There's a whole lot of values in the original that you don't need
<zid>
oh maybe we do
<zid>
yea
<zid>
I can't read enough python to know how the capturing works though
<zid>
oh I think maybe I get it now?
<zid>
but not why there's a () around v_idx, l_idx
<GeDaMo>
Tuple
<zid>
but it's a tuple of a scalar and another tuple?
<zid>
which is then turned into a triple?
<GeDaMo>
enumerate returns an index for each element, in this case the element is a tuple being created by the zip
<GeDaMo>
But you don't actually use the index or the second element of the tuple
<zid>
enumerate(zip(f.vertices, f.loop_indices)) is a triple of 'vi, (v_idx, l_idx)' which is iterated as f_v = (vi, me_verts[v_idx], l_idx);, I think?
<GeDaMo>
You don't need the vi or l_idx
<GeDaMo>
It's just me_verts[v_idx].index
<zid>
was what I said any good?
<GeDaMo>
Er, ... oh, look! A quirrel! :P
<zid>
enumerate can disappear then regardless because we don't need the vi part
<GeDaMo>
Correct
<zid>
idk how the semantics of the zip works though, presumably it interleaves the array? But then we pull a tuple out of it anyway
<GeDaMo>
It combines two lists into a list of tuples
<zid>
or is each array an array of tuples? but that contracicts the names
<GeDaMo>
[x for x in zip([1,2,3],[4,5,6])] => (1, 4), (2, 5), (3, 6)]
<zid>
oh and you need to tuplaize it for the x = for thing?
<zid>
x,y = for
<GeDaMo>
That's a list comprehension
<GeDaMo>
[(y,x) for x,y in zip([1,2,3],[4,5,6])] => [(4, 1), (5, 2), (6, 3)]
<zid>
for f in face_index_pairs: for i in f.vertices: f_v = (me_verts[f.verteces[i]], f.loop_indices[i])
<zid>
but spelling vertices correctly
<zid>
That looks sufficiently depython'd?
<GeDaMo>
You don't use loop_indices
<zid>
oh right it doesn't get zippered in
<zid>
it gets tupled
<zid>
the zip thing is just a stupidity because they wanted to use the syntax they chose of capturing a tuple return
<zid>
right?
<GeDaMo>
If you're doing for i in f.vertices then i is already f.vertices[i]
<zid>
oh whoops
<zid>
for i in enumerate(f.vertices) or whatever then? or for i less than len(f.vertices)? whatever python wants
<GeDaMo>
Just for i in f.vertices: f_v = me_verts[i]
<zid>
hmm
<zid>
I got told f doesn't have a .vertices
<zid>
in for f in face_index_pairs: for i in f.vertices
<GeDaMo>
You didn't split the tuple from face_index_pairs
<zid>
split the tuple from?
<GeDaMo>
Try for f, _ in face_index_pairs:
<zid>
what on earth
<zid>
oh because it's a tuple I get both sides in my f
<zid>
not the left side?
<GeDaMo>
face_index_pairs is a list of tuples ... yes
<zid>
I guess that make sense, but it means you have to know how many args everything has..
<zid>
returns, whatever
<GeDaMo>
You don't care about the second bit so _ is just a placeholder
<GeDaMo>
Yeah, imagine having to know how many parameters things take and type for the return value :P
<zid>
hmm
<zid>
can only concatenate str not "int" to str, on fw('%d, ' % me_verts[i].index + totverts)