15:25:01
Colleen
and debug-info is also another complication on top of this scheme
15:25:01
karlosz
and debug-info is also another complication on top of this scheme
15:26:41
Colleen
probably sticking a simple vector widetag on the thing will work
15:26:41
karlosz
probably sticking a simple vector widetag on the thing will work
15:41:00
shinmera
and I'm discovering more bugs in glsl-toolkit that somehow have remained dormant for years
15:42:59
Colleen
and i just discovered loading >2mb far constants on arm64 was just completely broken so gotta fix that first
15:42:59
karlosz
and i just discovered loading >2mb far constants on arm64 was just completely broken so gotta fix that first
17:38:13
Colleen
i generated a file with >100,000 symbols and it won't terminate
17:38:13
karlosz
i generated a file with >100,000 symbols and it won't terminate
17:56:29
Colleen
it was taking forever with no output
17:56:29
karlosz
it was taking forever with no output
17:56:36
Colleen
and then i got a ton of errors
17:56:36
karlosz
and then i got a ton of errors
17:56:48
Colleen
i fixed the errors and now it links in 2 or 3 seconds
17:56:48
karlosz
i fixed the errors and now it links in 2 or 3 seconds
17:56:58
Colleen
but i suppose gcc was not handling the slew of errors right
17:56:58
karlosz
but i suppose gcc was not handling the slew of errors right
17:57:17
shinmera
the clang toolchain in general is just so much better regarding everything errors.
17:57:38
shinmera
lldb is also much nicer to debug with
17:59:06
Colleen
anyway the problem was forgetting to align to word boundaries
17:59:06
karlosz
anyway the problem was forgetting to align to word boundaries
17:59:15
Colleen
https://paste.gnome.org/t6fJuDbd1
17:59:15
karlosz
https://paste.gnome.org/t6fJuDbd1
17:59:23
Colleen
what the component boxed space looks like
17:59:23
karlosz
what the component boxed space looks like
18:00:18
Colleen
then code constant references get rewritten like so https://paste.gnome.org/fTqznvFcQ
18:00:18
karlosz
then code constant references get rewritten like so https://paste.gnome.org/fTqznvFcQ
18:00:40
Colleen
so we can reference code constants in a r/w space instead of the text space
18:00:40
karlosz
so we can reference code constants in a r/w space instead of the text space
18:01:03
Colleen
thereby allowing GC to fix up the pointers in the r/w space if anything gets moved
18:01:03
karlosz
thereby allowing GC to fix up the pointers in the r/w space if anything gets moved
18:01:39
Colleen
but more importantly allowing spaces to get placed wherever, so the initial load can fix up stuff without running afoul of executablre pages being readonl
18:01:39
karlosz
but more importantly allowing spaces to get placed wherever, so the initial load can fix up stuff without running afoul of executablre pages being readonl
18:28:02
Colleen
Shinmera: day2 els currently rendering. I found some oopsies in day1 so those will need re-rendering.
18:28:02
SAL9000
Shinmera: day2 els currently rendering. I found some oopsies in day1 so those will need re-rendering.
18:30:31
Colleen
https://paste.gnome.org/KtIBVH6Fe
18:30:31
karlosz
https://paste.gnome.org/KtIBVH6Fe
18:30:45
Colleen
notice in the top line that -Wl,-z,text is there
18:30:45
karlosz
notice in the top line that -Wl,-z,text is there
18:30:49
Colleen
meaning no text relocations allowed
18:30:49
karlosz
meaning no text relocations allowed
18:31:10
Colleen
somehow relocating all the constants off code pages worked!
18:31:10
karlosz
somehow relocating all the constants off code pages worked!
18:32:15
Colleen
probably GC will get super unhappy whenever it gets to it, since i haven't informed it of the new space's presence yet
18:32:15
karlosz
probably GC will get super unhappy whenever it gets to it, since i haven't informed it of the new space's presence yet
18:33:06
shinmera
Now if only I could get my shadow maps to work
18:34:42
Colleen
i guess i should call it a day/week now
18:34:42
karlosz
i guess i should call it a day/week now
18:35:45
Colleen
next time is trying to get everything relocating and see what breaks/doesn't break and then telling the GC about the new constant space
18:35:45
karlosz
next time is trying to get everything relocating and see what breaks/doesn't break and then telling the GC about the new constant space
18:36:05
Colleen
and probably also figure out what is going on with the debug-info slot in code
18:36:05
karlosz
and probably also figure out what is going on with the debug-info slot in code
19:40:01
shinmera
https://mastodon.tymoon.eu/@shinmera/110459324016996043
Wednesday, 31st of May 2023, 3:24:57 UTC