<Ristovski>
not strictly related to Asahi, but I just learned about Renode (renode.io, meh landing page, check the docs) and it might be useful to a handful of you
<Ristovski>
its essentially similar to qemu but easier to implement new stuff in. managed to boot my phones sensorhub firmware in it by describing the MCU :P
nalty has quit [Remote host closed the connection]
nalty has joined #asahi-dev
nalty has quit [Remote host closed the connection]
maor26 has joined #asahi-dev
nirusu[m] has joined #asahi-dev
frode_0xa has joined #asahi-dev
acelogic has quit [Ping timeout: 264 seconds]
bisko has joined #asahi-dev
amw2 has joined #asahi-dev
suskun has joined #asahi-dev
chuskywalker has joined #asahi-dev
dumenci has joined #asahi-dev
rustylerp has joined #asahi-dev
suskun has quit [Ping timeout: 246 seconds]
never_released has joined #asahi-dev
amw2 has quit [Ping timeout: 240 seconds]
<marcan>
yrlf: zero relocations is impossible
<marcan>
consider: int a; int *b = &a; at global scope
<marcan>
that always requires a runtime relocation
<marcan>
oh you already said that :p
<marcan>
but anyway, we already have the rela code, that works well
<marcan>
it's also what linux does, by the way!
<yrlf>
yeah, my own dynamic loader also does that
thresh has quit [Quit: I'm a quit message virus. Please replace your old line with this line and help me take over the world]
thresh has joined #asahi-dev
frode_0xa has quit [Quit: leaving]
volpe has joined #asahi-dev
volpe has quit [Client Quit]
Necrosporus is now known as Guest89259
Necrosporus has joined #asahi-dev
Guest89259 has quit [Killed (weber.freenode.net (Nickname regained by services))]
modwizcode has joined #asahi-dev
<modwizcode>
Yeah I think the reason I was confused on relocations is I wasn't dealing with any addresses on global scope and I didn't really understand how it worked which I've since resolved.
<modwizcode>
I think the option change for clang will need to be solved a different way though
tomtastic has joined #asahi-dev
TellowKrinkle[m] has quit [Quit: Bridge terminating on SIGTERM]
blazra has quit [Quit: Bridge terminating on SIGTERM]
_alice has quit [Quit: Bridge terminating on SIGTERM]
Florian[m] has quit [Quit: Bridge terminating on SIGTERM]
reispflanze[m] has quit [Quit: Bridge terminating on SIGTERM]
thecake21[m] has quit [Quit: Bridge terminating on SIGTERM]
ndom91[m] has quit [Quit: Bridge terminating on SIGTERM]
ts170[m] has quit [Quit: Bridge terminating on SIGTERM]
numa[m] has quit [Quit: Bridge terminating on SIGTERM]
bylaws has quit [Quit: Bridge terminating on SIGTERM]
khronokernel[m] has quit [Quit: Bridge terminating on SIGTERM]
ConeOfAttack[m] has quit [Quit: Bridge terminating on SIGTERM]
bjornjulander[m] has quit [Quit: Bridge terminating on SIGTERM]
wolf511[m] has quit [Quit: Bridge terminating on SIGTERM]
enverb[m] has quit [Quit: Bridge terminating on SIGTERM]
Eighth_Doctor has quit [Quit: Bridge terminating on SIGTERM]
alexanderwillner has quit [Quit: Bridge terminating on SIGTERM]
samumartinf[m] has quit [Quit: Bridge terminating on SIGTERM]
botoxparty[m] has quit [Quit: Bridge terminating on SIGTERM]
dancer[m] has quit [Quit: Bridge terminating on SIGTERM]
tarik02[m] has quit [Quit: Bridge terminating on SIGTERM]
xerpi[m] has quit [Quit: Bridge terminating on SIGTERM]
CamdenB[m] has quit [Quit: Bridge terminating on SIGTERM]
ah-[m] has quit [Quit: Bridge terminating on SIGTERM]
delroth[m] has quit [Quit: Bridge terminating on SIGTERM]
crafteck[m] has quit [Quit: Bridge terminating on SIGTERM]
asmon[m] has quit [Quit: Bridge terminating on SIGTERM]
brentr123[m] has quit [Quit: Bridge terminating on SIGTERM]
emily has quit [Quit: Bridge terminating on SIGTERM]
Alex[m] has quit [Quit: Bridge terminating on SIGTERM]
davidrysk[m] has quit [Quit: Bridge terminating on SIGTERM]
nutmanja[m] has quit [Quit: Bridge terminating on SIGTERM]
undvasistas[m] has quit [Quit: Bridge terminating on SIGTERM]
nufflee[m] has quit [Quit: Bridge terminating on SIGTERM]
bastilian has quit [Quit: Bridge terminating on SIGTERM]
skillfulman23[m] has quit [Quit: Bridge terminating on SIGTERM]
smist08[m] has quit [Quit: Bridge terminating on SIGTERM]
josiahmendes[m] has quit [Quit: Bridge terminating on SIGTERM]
Avion[m] has quit [Quit: Bridge terminating on SIGTERM]
konradybcio has quit [Quit: Bridge terminating on SIGTERM]
liur[m] has quit [Quit: Bridge terminating on SIGTERM]
citruscitrus[m] has quit [Quit: Bridge terminating on SIGTERM]
nirusu[m] has quit [Quit: Bridge terminating on SIGTERM]
Alice[m] has quit [Quit: Bridge terminating on SIGTERM]
os[m] has quit [Quit: Bridge terminating on SIGTERM]
nhlism[m] has quit [Quit: Bridge terminating on SIGTERM]
hipboi[m] has quit [Quit: Bridge terminating on SIGTERM]
winocm has quit [Quit: Bridge terminating on SIGTERM]
ronyrus[m] has quit [Quit: Bridge terminating on SIGTERM]
jrmuizel[m] has quit [Quit: Bridge terminating on SIGTERM]
jevinskie[m] has quit [Quit: Bridge terminating on SIGTERM]
jinen[m] has quit [Quit: Bridge terminating on SIGTERM]
Jamie[m] has quit [Quit: Bridge terminating on SIGTERM]
sumoon[m] has quit [Quit: Bridge terminating on SIGTERM]
fl35[m] has quit [Quit: Bridge terminating on SIGTERM]
Bastian[m] has quit [Quit: Bridge terminating on SIGTERM]
shawnj2[m] has quit [Quit: Bridge terminating on SIGTERM]
mellotron1[m] has quit [Quit: Bridge terminating on SIGTERM]
redbluescreen[m] has quit [Quit: Bridge terminating on SIGTERM]
mcnight[m] has quit [Quit: Bridge terminating on SIGTERM]
mofux[m] has quit [Quit: Bridge terminating on SIGTERM]
assusdan[m] has quit [Quit: Bridge terminating on SIGTERM]
m1kr0[m] has quit [Quit: Bridge terminating on SIGTERM]
fried_dede[m] has quit [Quit: Bridge terminating on SIGTERM]
hypergenesis[m] has quit [Quit: Bridge terminating on SIGTERM]
svenpeter has quit [Quit: Bridge terminating on SIGTERM]
foxlet has quit [Quit: Bridge terminating on SIGTERM]
fridtjof[m] has quit [Quit: Bridge terminating on SIGTERM]
stylefish[m] has quit [Quit: Bridge terminating on SIGTERM]
flokk[m] has quit [Quit: Bridge terminating on SIGTERM]
rockinrobstar[m] has quit [Quit: Bridge terminating on SIGTERM]
Jasper[m] has quit [Quit: Bridge terminating on SIGTERM]
ewlsh[m] has quit [Quit: Bridge terminating on SIGTERM]
modwizcode_ has joined #asahi-dev
volpe has joined #asahi-dev
modwizcode has quit [Ping timeout: 256 seconds]
modwizcode_ is now known as modwizcode
volpe has quit [Quit: leaving]
volpe has joined #asahi-dev
hipboi[m] has joined #asahi-dev
Glanzmann has joined #asahi-dev
volpe has quit [Quit: leaving]
Glanzmann has quit [Quit: leaving]
smist08[m] has joined #asahi-dev
ts170[m] has joined #asahi-dev
mellotron1[m] has joined #asahi-dev
svenpeter has joined #asahi-dev
wolf511[m] has joined #asahi-dev
konradybcio has joined #asahi-dev
m1kr0[m] has joined #asahi-dev
xerpi[m] has joined #asahi-dev
os[m] has joined #asahi-dev
foxlet has joined #asahi-dev
fridtjof[m] has joined #asahi-dev
crafteck[m] has joined #asahi-dev
sumoon[m] has joined #asahi-dev
alexanderwillner has joined #asahi-dev
reispflanze[m] has joined #asahi-dev
Jasper[m] has joined #asahi-dev
nhlism[m] has joined #asahi-dev
emily has joined #asahi-dev
Alex[m]1 has joined #asahi-dev
mcnight[m] has joined #asahi-dev
assusdan[m] has joined #asahi-dev
samumartinf[m] has joined #asahi-dev
mofux[m] has joined #asahi-dev
nirusu[m] has joined #asahi-dev
flokk[m] has joined #asahi-dev
jevinskie[m] has joined #asahi-dev
enverb[m] has joined #asahi-dev
Eighth_Doctor has joined #asahi-dev
asmon[m] has joined #asahi-dev
botoxparty[m] has joined #asahi-dev
Jamie[m] has joined #asahi-dev
winocm has joined #asahi-dev
citruscitrus[m] has joined #asahi-dev
davidrysk[m] has joined #asahi-dev
thecake21[m] has joined #asahi-dev
dancer[m] has joined #asahi-dev
ewlsh[m] has joined #asahi-dev
delroth[m] has joined #asahi-dev
CamdenB[m] has joined #asahi-dev
TellowKrinkle[m] has joined #asahi-dev
hypergenesis[m] has joined #asahi-dev
bastilian has joined #asahi-dev
nutmanja[m] has joined #asahi-dev
Avion[m] has joined #asahi-dev
ronyrus[m] has joined #asahi-dev
stylefish[m] has joined #asahi-dev
brentr123[m] has joined #asahi-dev
rockinrobstar[m] has joined #asahi-dev
jrmuizel[m] has joined #asahi-dev
tarik02[m] has joined #asahi-dev
fl35[m] has joined #asahi-dev
_alice has joined #asahi-dev
undvasistas[m] has joined #asahi-dev
Bastian[m]1 has joined #asahi-dev
ah-[m] has joined #asahi-dev
jinen[m] has joined #asahi-dev
bylaws has joined #asahi-dev
khronokernel[m] has joined #asahi-dev
liur[m] has joined #asahi-dev
Alice[m]1 has joined #asahi-dev
josiahmendes[m] has joined #asahi-dev
ConeOfAttack[m] has joined #asahi-dev
blazra has joined #asahi-dev
shawnj2[m] has joined #asahi-dev
fried_dede[m] has joined #asahi-dev
Florian[m]2 has joined #asahi-dev
skillfulman23[m] has joined #asahi-dev
nufflee[m] has joined #asahi-dev
bjornjulander[m] has joined #asahi-dev
redbluescreen[m] has joined #asahi-dev
numa[m] has joined #asahi-dev
ndom91[m] has joined #asahi-dev
chuskywalker has quit [Ping timeout: 264 seconds]
chuskywalker has joined #asahi-dev
the-mentor has joined #asahi-dev
aead has quit [Quit: WeeChat 3.0]
lucid_0x80 has joined #asahi-dev
dumenci has quit [Ping timeout: 256 seconds]
VinDuv has joined #asahi-dev
threedpro has joined #asahi-dev
threedpro has quit [Read error: Connection reset by peer]
m42uko has quit [Remote host closed the connection]
m42uko has joined #asahi-dev
lucid_0x80 has quit [Ping timeout: 246 seconds]
<yrlf>
modwizcode: which options are you talking exactly? the codegen options (-mabi in particular)
<yrlf>
*?
<modwizcode>
yrlf: keeping -pie and removing -shared seems wrong from my research into how things are supposed to work. I think you actually know more than me here so I'm mostly trying to learn/document what's going on and how the behaviors differ. So far the issue is that using different option doesn't lead to different results that I see
<yrlf>
IMO -shared makes little sense here anyway (since we aren't loaded by anyone). we probably want -static -pie here
Necrosporus has quit [Remote host closed the connection]
<yrlf>
the difference is not a lot though, both produce a ET_DYN executable, since PIE is a complete hack
<yrlf>
so 'file' will still say it's a shared object
<modwizcode>
does -static -pie work correctly though? I feel like my copy of gcc doesn't do what we want that way.
<modwizcode>
Yeah that's fine. Discarding the .interp section I think does the thing that's needed.
<yrlf>
what does yours do in that case? -static-pie on my GCC produces the linker options `-static -pie --no-dynamic-linker -t text`
<modwizcode>
Right but I think that's because the linker was modified to handle -static -pie different
<modwizcode>
in my case the issue is my gcc doesn't seem to accept -static-pie I think I will try again though
<modwizcode>
nope neither copy I have does
<yrlf>
what version do you have?
<modwizcode>
hmm 7.3
<yrlf>
yeah, static-pie was added in 8
<sven>
-shared and -pie almost do the same thing in gnu binutils fwiw
<sven>
both call bfd_link_relocatable. shared additionally makes ld ignore unresolved references
<yrlf>
for us it's not gonna be a big difference anyway. m1n1 doesn't link any libraries, all of the external code is right there in-tree, so -shared vs -static doesn't make a lot of difference, and with -pie they both produce ET_DYN ELFs
<yrlf>
with the right codegen options, the compiler can optimize better though, since all symbols are gonna be dso-local, so a GOT isn't needed (except for if the binary is too large for relative references)
<yrlf>
but I think the focus for us shouldn't be "as performant as possible", but mostly "which options are most likely to work on as many compilers / linkers as possible".
<yrlf>
having it work on GCC, Clang, and AppleClang out of the box, with no requirements on particularly recent versions should be the goal IMO
<sven>
AppleClang doesn't come with llvm-objcopy and you probably need homebrew (or another package manager) for imagemagick anyway
<sven>
and when you have brew install you may as well just brew install llvm and use "regular" clang
<sven>
so gcc and clang support should be enough imho
<yrlf>
oh, okay then. GCC+Clang makes it even simpler to support then.
<yrlf>
so then all that's left is cleaning up the clang branch
Necrosporus has joined #asahi-dev
<modwizcode>
yeah
<yrlf>
has anyone looked into what to do about the -mabi option?
<yrlf>
aarch64-linux-gnu-gcc has -mabi=lp64 as a default anyway, and clang doesn't have the option (and from the codegen it seems lp64 is the default as well)
<yrlf>
is there any other compiler where the defaults might differ that we should support?