<never_released>
also, ILP64 exists too and is used
<sven>
huh?
<jix>
I think the context were arm elf toolchains, which I guess at least excludes windows
<sven>
I'm not arguing against LLP64 :)
<sven>
my point just was to assume that a toolchain targeting aarch64 defaults to LP64 and fail loudly if it doesn't so that it can be fixed
<sven>
(that "your compiler sucks" was meant to be a dumb joke)
<never_released>
hm? using LLP64 is perfectly sane
<never_released>
even for ELF
<sven>
sure
<j`ey>
they were talking about building m1n1, not in general
<sven>
clang and gcc default to lp64 but there was a -mabi=lp64 in the CFLAGS that clang didn't like. so my suggestion was to just remove that and add a guard in case that default changes or if someone tries to use a different compiler that defaults to something else
<never_released>
might be worth it to support them all for m1n1 anyway
<never_released>
it's not as if it's a big effort
<sven>
yeah, probably
<opticron>
never_released, I've not read about ILP64 anywhere for AArch64
<opticron>
do any of the compilers support that?
<opticron>
gcc only mentions lp64 and ilp32
wiloon has joined #asahi-dev
lewurm has quit [Quit: leaving]
lewurm has joined #asahi-dev
plainbits has quit [Ping timeout: 265 seconds]
amw2 has joined #asahi-dev
plainbits has joined #asahi-dev
amw2 has quit [Ping timeout: 240 seconds]
plainbits has quit [Quit: Go to sleep. Night!]
<davidrysk[m]>
I only know of lp64 and ilp32, and llp64 for windows but that doesn't use a different ABI than lp64
<davidrysk[m]>
windows arm64 abi is basically the same as the standard aarch64 abi, which is a nice departure from what MS usually does
<opticron>
llp64 is slightly different from lp64
vimal has quit [Remote host closed the connection]
vimal has joined #asahi-dev
justMaku has quit [Quit: killed]
q3k|m has quit [Quit: killed]
vimal has quit [Remote host closed the connection]
vimal has joined #asahi-dev
<davidrysk[m]>
opticron: I'm aware of the memory model differences, but they don't appear to lead to ABI differences on Windows aarch64
<opticron>
gotcha
<davidrysk[m]>
marcan: if anything I'm concerned that there is only one vendor of either required cable
<davidrysk[m]>
if that vendor stops making/selling said cable, we're out of luck
<marcan>
davidrysk[m]: that's a good point
<modwizcode>
i was having trouble understanding from twitter why we need this specific cable
wiloon has quit [Quit: Connection closed for inactivity]
<never_released>
davidrysk[m]: hm?
<never_released>
there are differences compared to Linux
<never_released>
x18 is the TEB while it's a scratch reg
<never_released>
on linux
<never_released>
that complies with the AAPCS standard though
<davidrysk[m]>
x18 is defined as the platform register by the AAPCS though, so you shouldn't be using it as a scratch register
<never_released>
Linux does that.
<never_released>
Android doesn't
<davidrysk[m]>
Apple says not to use it even though xnu says they don't use it
<never_released>
but glibc distros do
<never_released>
davidrysk[m]: XNU uses it as part of their Meltdown mitigation, but it's free to use otherwise
<never_released>
basically if hw.optional.arm_kernel_protect is not present
<never_released>
you can use x18 on XNU
q3k|m has joined #asahi-dev
<never_released>
if it's present, it's overridden on each ctx switch
mjeanson has joined #asahi-dev
justMaku has joined #asahi-dev
justMaku has quit [Quit: Client limit exceeded: 150]
plainbits has joined #asahi-dev
chuskywalker2 has quit [Read error: Connection reset by peer]
VinDuv has joined #asahi-dev
dumenci has joined #asahi-dev
lucid_0x80 has quit [Ping timeout: 265 seconds]
rustylerp has quit [Ping timeout: 256 seconds]
plainbits has quit [Ping timeout: 272 seconds]
plainbits has joined #asahi-dev
segher has joined #asahi-dev
segher has quit [Ping timeout: 240 seconds]
dumenci has quit [Ping timeout: 256 seconds]
plainbits has quit [Ping timeout: 272 seconds]
plainbits has joined #asahi-dev
porkbone has joined #asahi-dev
plainbits has quit [Quit: Bye!]
ransom has joined #asahi-dev
vimal has quit [Ping timeout: 265 seconds]
ransom has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ransom has joined #asahi-dev
danb91 has joined #asahi-dev
danb91 has quit [Client Quit]
danb91 has joined #asahi-dev
artemist has quit [Ping timeout: 264 seconds]
ransom has quit [Quit: My MacBook has gone to sleep. ZZZzzz…]
ransom has joined #asahi-dev
artemist has joined #asahi-dev
danb91 has quit [Remote host closed the connection]